如何从UIView子类创建CGImage?
我应该使用renderInContext:UIGraphicsGetCurrentContext()从包含绘图的视图(UIView的子类)创建CG图像(通过drawRect方法的核心图形)?
我有一个视图,myView,我正在做一些绘图。我想用我创建的绘图做一些其他核心图形操作 - 比如混合模式等导入的照片,所以我需要从myView中获取CGimage。找不到CGImage属性(我的第一个猜测)。我在下面找到了解决方案,但是我的子类“没有声明选择器renderInContext”,所以我收到错误。
UIGraphicsBeginImageContext(myView.bounds.size);
[myView renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
CGImageRef cgImage = image.CGImage;
答案 0 :(得分:1)
-renderInContext:
是CALayer
上的方法,而不是UIView
。
请改为:
[myView.layer renderInContext:UIGraphicsGetCurrentContext()];
您还需要导入CALayer
的标题:
#import <QuartzCore/QuartzCore.h>
并将您的应用与QuartzCore
框架相关联。