NSImage 是一种抽象数据类型,可以表示许多不同类型的图像,以及图像的多种表示形式。当图像的实际类型对于您想要执行的操作并不重要时,它通常很有用。它也是 AppKit 在其 API(NSImageView 等)中接受的唯一图像类。
CGImage只能表示位图。如果您需要深入了解实际的位图数据,CGImage 是一个合适的类型。 CoreGraphics 中的操作,例如混合模式和遮罩,需要 CGImageRefs。 CGImageRefs 可用于创建 NSBitmapImageRefs,然后将其添加到 NSImage 中。
我认为文档对 CIImage 的描述最好:
尽管 CIImage 对象具有与其关联的图像数据,但它不是图像。您可以将 CIImage 对象视为图像“食谱”。 CIImage 对象拥有生成图像所需的所有信息,但 Core Image 在被告知之前不会实际渲染图像。这种“惰性评估”方法使 Core Image 能够尽可能高效地运行。
CIImages 是使用 Mac OS X 附带的各种 GPU 优化的 Core Image 滤镜所需的类型,但与 CGImageRefs 一样,它们也可以转换为 NSBitmapImageReps。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)