我想从当前图形上下文创建一个 UIImage 对象。更具体地说,我的用例是用户可以在上面画线的视图。他们可能会逐渐绘制。完成后,我想创建一个 UIImage 来表示他们的绘图。
这是 drawRect: 现在对我来说的样子:
- (void)drawRect:(CGRect)rect
{
CGContextRef c = UIGraphicsGetCurrentContext();
CGContextSaveGState(c);
CGContextSetStrokeColorWithColor(c, [UIColor blackColor].CGColor);
CGContextSetLineWidth(c,1.5f);
for(CFIndex i = 0; i < CFArrayGetCount(_pathArray); i++)
{
CGPathRef path = CFArrayGetValueAtIndex(_pathArray, i);
CGContextAddPath(c, path);
}
CGContextStrokePath(c);
CGContextRestoreGState(c);
}
... 其中 _pathArray 是 CFArrayRef 类型,每次调用 touchesEnded: 时都会填充。另请注意,在用户绘制时,drawRect: 可能会被多次调用。
用户完成后,我想创建一个表示图形上下文的 UIImage 对象。关于如何做到这一点的任何建议?