如何将用CGContextRef
创建的CGBitmapContextCreate()
绘制到NSView?
我应该先将其转换为图像吗?如果是这样,那会不会是一项昂贵的手术?
最佳答案
我应该先将其转换为图像吗?
是。您可以使用CGBitmapContextCreateImage
,然后使用它从drawRect:
绘制到图形上下文中。
如果是这样,那会不会是一项昂贵的手术?CGBitmapContext
-> CGImage
多个选项中的一个-为任务使用最佳选项。如果您做出良好的设计决策,那么它几乎不会成为障碍。CGImage
,NSImage
和UIImage
是不可变的。它们避免了创建它们时可能期望的复制。
较大的图像显然会占用大量内存,并且将图像绘制到位图,然后以其原始大小以外的大小绘制图像可能会很昂贵。
重用您创建的图像,并适当保留它们。时不时地剖析,看看情况如何。
关于macos - 显示CGContextRef,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9473542/