正确使用GraphicsContext当UIGraphicsGetImageFromCurrentI

2019-10-17 08:20发布

我有以下方法,其中我试图做一些拉伸成图像:

- (UIImage*) renderImage
{
    UIGraphicsBeginImageContextWithOptions(self.size, NO, 0);
    CGContextRef context = UIGraphicsGetCurrentContext();
    //drawing code

    UIImage *image = [UIGraphicsGetImageFromCurrentImageContext() retain];
    UIGraphicsEndImageContext();  
    return [image autorelease];    
}

当我运行这段代码我发现我越来越打,比我的时候我只是画在这个代码更难drawRect一个的UIView 。 难道我画了错误的图形上下文这里(即CGContextRef context = UIGraphicsGetCurrentContext(); )? 或者是UIGraphicsGetImageFromCurrentImageContext只是贵得多比绘制drawRect

Answer 1:

主要的区别是,您所创建的背景下,需要离屏渲染,它不是在-drawRect创建相同的上下文。 所以,您要添加更多的内存到保持,直到你将释放图像堆。



文章来源: Correct GraphicsContext When Using UIGraphicsGetImageFromCurrentImageContext