显示CGContextRef

时间:2012-02-27 22:42:02

标签: macos cocoa core-graphics quartz-2d

如何将使用CGContextRef创建的CGBitmapContextCreate()绘制到NSView?

我应该先将其转换为图像吗?如果是这样的话,这不是一项昂贵的操作吗?

1 个答案:

答案 0 :(得分:1)

  

我应该先将它转换为图像吗?

是。您可以使用CGBitmapContextCreateImage,然后使用它从drawRect:绘制图形上下文。

  

如果是这样的话,这不是一项昂贵的操作吗?

CGBitmapContext - > CGImage多个中的一个选项 - 使用最适合任务的选项。如果你做出好的设计决定,它很少成为障碍。

CGImageNSImageUIImage是不可变的。它们避免了在创建它们时可能会发生的复制。

较大的图像显然会消耗大量内存,将图像绘制到位图,然后以不同于其原始大小的尺寸绘制图像可能会很昂贵。

重复使用您创建的图像,并适当地抓住它们。立即了解情况,看看情况如何。