Macos 显示CGContextRef

Macos 显示CGContextRef,macos,cocoa,core-graphics,quartz-2d,Macos,Cocoa,Core Graphics,Quartz 2d,如何将使用CGBitmapContextCreate()创建的CGContextRef绘制到NSView 我应该先把它转换成图像吗?如果是这样的话,这不是一个昂贵的手术吗 我应该先把它转换成图像吗 对。您可以使用CGBitmapContextCreateImage,然后使用它从drawRect:绘制到图形上下文中 如果是这样的话,这不是一个昂贵的手术吗 CGBitmapContext->CGImage多个选项中的一个选项-为任务使用最佳选项。如果你做出了好的设计决策,它很少会成为一个障碍 CGI

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

我应该先把它转换成图像吗?如果是这样的话,这不是一个昂贵的手术吗

我应该先把它转换成图像吗

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

如果是这样的话,这不是一个昂贵的手术吗

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

CGImage
NSImage
UIImage
是不可变的。它们避免在创建时复制您可能期望的内容

较大的图像显然会消耗大量内存,并且将图像绘制到位图,然后以其原始大小以外的大小绘制图像可能会非常昂贵

重用您创建的图像,并适当地保留它们。时不时地进行个人简介,看看事情进展如何

我应该先把它转换成图像吗

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

如果是这样的话,这不是一个昂贵的手术吗

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

CGImage
NSImage
UIImage
是不可变的。它们避免在创建时复制您可能期望的内容

较大的图像显然会消耗大量内存,并且将图像绘制到位图,然后以其原始大小以外的大小绘制图像可能会非常昂贵

重用您创建的图像,并适当地保留它们。时不时地进行个人简介,看看事情进展如何