如何从CGContextRef获取UIImage?

时间:2011-05-03 07:45:25

标签: iphone core-graphics quartz-2d

我有一个CGContextRef,我用位图上下文完成了我的绘图工作。

现在,我希望有一个函数调用来获取CGContextRef的UIImage。我怎么做?

2 个答案:

答案 0 :(得分:26)

这样的事情:

-(UIImage*)doImageOperation
{
  // Do your stuff here
  CGImageRef imgRef = CGBitmapContextCreateImage(context);
  UIImage* img = [UIImage imageWithCGImage:imgRef];
  CGImageRelease(imgRef);
  CGContextRelease(context);
  return img;
}

答案 1 :(得分:4)

更新了Swift 3,这是一个方便的函数,它接受一个CGContext并返回一个UIImage。请注意,当您在Swift 3中完成上下文时,不再需要释放上下文。

func imageFromContext(_ context: CGContext) -> UIImage? {
    guard let cgImage = context.makeImage() else { return nil }
    return UIImage.init(cgImage: cgImage)
}