如何从 CGContextRef 获取 UIImage?

发布于 2024-11-04 21:11:49 字数 117 浏览 0 评论 0原文

我有一个 CGContextRef,我用位图上下文进行了绘图。

现在,我想要一个函数调用来获取 CGContextRefUIImage。我该怎么做?

I have a CGContextRef and I did my drawing stuff with the bitmap context.

Now, I would like to have a function call to get a UIImage for the CGContextRef. How do I do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

划一舟意中人 2024-11-11 21:11:49

像这样的东西:

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

Something like this :

-(UIImage*)doImageOperation
{
  // Do your stuff here
  CGImageRef imgRef = CGBitmapContextCreateImage(context);
  UIImage* img = [UIImage imageWithCGImage:imgRef];
  CGImageRelease(imgRef);
  CGContextRelease(context);
  return img;
}
没有你我更好 2024-11-11 21:11:49

已针对 Swift 3 进行更新,这是一个方便的函数,它接受 CGContext 并返回 UIImage。请注意,在 Swift 3 中使用完上下文后,您不再需要释放它。

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

Updated for Swift 3, this is a convenience function that takes a CGContext and returns a UIImage. Note that you no longer need to free the context when you're done with it in Swift 3.

func imageFromContext(_ context: CGContext) -> UIImage? {
    guard let cgImage = context.makeImage() else { return nil }
    return UIImage.init(cgImage: cgImage)
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文