CGImageRef和绘图层

时间:2009-10-23 14:13:52

标签: iphone objective-c cocoa-touch cgimage

我有这段代码:

CGDataProviderRef provider = CGDataProviderCreateWithFilename([myFile UTF8String]);
CGImageRef img = CGImageCreateWithJPEGDataProvider(provider, NULL, true, kCGRenderingIntentDefault);

稍后我以这种方式将这个CGImageRef加载到UIImage中:

UIImage *uiImage = [[UIImage alloc] initWithCGImage:destImage];

我想在图片上画一个圆圈。关键是圆圈移动所以必须删除并重绘。我想实现这一点的最好方法是使用图层,所以我的问题是:如何在该代码中添加图层并在其上绘制圆圈?我以后如何重置图层并重绘该圆圈?

谢谢!

1 个答案:

答案 0 :(得分:0)

您将需要使用UIImageView,然后向该视图添加单独的图层。如果你的图层[circle]移动,只需将其position属性设置为新的中心;视图系统将负责重新合成所有内容。

要让您的圆圈显示在图层中,您可以使用固定图像,子类CALayer并覆盖drawInContext:,或设置委托并实现drawLayer:inContext:。