Ios 涂鸦。。。开放式总账?
我正在制作一个应用程序,其中一个功能是能够在页面上放置预先制作的涂鸦,他们将能够放大和缩小涂鸦,并将它们放在他们想要的地方。这一切都是为了iPad。我是否需要为此使用OpenGL,或者是否有更好/更简单的方法?(iOS编程新手)您应该能够使用Ios 涂鸦。。。开放式总账?,ios,graphics,opengl-es,Ios,Graphics,Opengl Es,我正在制作一个应用程序,其中一个功能是能够在页面上放置预先制作的涂鸦,他们将能够放大和缩小涂鸦,并将它们放在他们想要的地方。这一切都是为了iPad。我是否需要为此使用OpenGL,或者是否有更好/更简单的方法?(iOS编程新手)您应该能够使用CALayers实现这一点。您需要添加QuartzCore框架才能使其工作。我们的想法是将每个涂鸦都表示为一个CALayer。如果您的涂鸦是图像,则可以使用contents属性将涂鸦指定给图层。您需要指定一个cgimagerf对象,您可以使用UIImage对
CALayer
s实现这一点。您需要添加QuartzCore
框架才能使其工作。我们的想法是将每个涂鸦都表示为一个CALayer
。如果您的涂鸦是图像,则可以使用contents
属性将涂鸦指定给图层。您需要指定一个cgimagerf
对象,您可以使用UIImage
对象的CGImage
属性轻松检索该对象
您将需要一个视图,它将成为您的绘图板。由于您希望能够移动和更改涂鸦的大小,因此必须附加一个用于移动图层的uipangestrerecognizer
对象和一个uipinchgestrerecognizer
以放大和缩小涂鸦。由于识别器只能附加到视图而不能附加到层,因此在调用手势处理程序时,最重要的部分将是识别它们正在操作视图的哪个子层。对于平移手势,您可以使用locationInView:
;对于挤压手势,您可以使用locationOfTouch:inView:
来触摸手势,视图参数是正在进行手势的视图,可以使用手势。视图
。识别出焦点所在的层后,可以使用平移手势的translationView:
移动层,并使用收缩手势的scale
属性变换层
虽然CALayer
对象是轻量级对象,但如果对象太多,您可能会遇到问题。所以,对你的应用程序进行压力测试。另一个障碍是,图像通常占用大量内存,因此您可能无法在其中获得大量涂鸦