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

我应该先将其转换为图像吗?如果是这样,那会不会是一项昂贵的手术?

最佳答案

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


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


  如果是这样,那会不会是一项昂贵的手术?


CGBitmapContext-> CGImage多个选项中的一个-为任务使用最佳选项。如果您做出良好的设计决策,那么它几乎不会成为障碍。

CGImageNSImageUIImage是不可变的。它们避免了创建它们时可能期望的复制。

较大的图像显然会占用大量内存,并且将图像绘制到位图,然后以其原始大小以外的大小绘制图像可能会很昂贵。

重用您创建的图像,并适当保留它们。时不时地剖析,看看情况如何。

关于macos - 显示CGContextRef,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9473542/

10-11 12:18