我想知道您是否可以帮助我在图层上绘画。
情况是这个
我正在这种屏幕上编程http://multitouch.com,同时进行12次触摸。在我正在开发的应用程序中,我可以管理多个图像。我可以同时旋转,缩放所有图像(在屏幕上最多可触摸12次!)。为此,我仅使用表演图层。每个图像都由一个CALayer表示,然后创建我的CALayer并将图像设置为其“内容”。层次结构是这样。
我只有一个NSView。
正如我之前告诉您的那样,我可以旋转,缩放和移动我的图像。
双击单个图像,我锁定了整个屏幕,我仍然可以旋转和移动图像,但只能用两个手指。
现在,我希望该用户可以用一根手指在该图像上绘制。
主要问题是我没有图形方面的经验,互联网上的所有示例都是关于在视图上绘制线条。
问题是如何用手指在CALayer上进行绘制。我只有CALayer,我没有NSView
提前很多,塞尔吉奥
嗨,Mazyod,提供图片的CALayer类非常大。
请尝试了解这种情况
MainWindow自然地成为根
NSViewController称为MainViewController,以自定义NSView作为根视图-此视图称为Container,并将其设置为MainWindow的contentView
CALayer称为Images_Layer-这是作为Container层的SubLayer添加的层
CALayer称为Img_Layer-这是作为Images_Layer的SubLayer添加的层(我为每个图像都添加了一个,自然地设置为内容,然后是CGImageRef)
当我单击图像(ImgLayer)时,照常触发3种方法:
onTouchPointDown-带x,y等onTouchPointMove-带x,y等onTouchPointUp-带x,y等
好的,我找到了。
-
(void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx
{
NSGraphicsContext *gc = [NSGraphicsContext graphicsContextWithGraphicsPort:ctx flipped:NO];
[NSGraphicsContext saveGraphicsState];
[NSGraphicsContext setCurrentContext:gc];
// draw points with bezier path
[NSGraphicsContext restoreGraphicsState];
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句