OS X 上的图像位深度转换

Image BitDepth conversions on OS X

我需要将 32 bpp 图像转换为 24、16 位深度。我的是 OS X 中的 cocoa 应用程序。哪种方法最好?我在 NSData 中有原始图像数据 (RGBA)。在 OS X 中是否可以使用任何 frameworks/APIs 或库?

你要更清楚自己拥有什么,想要什么。例如,对于您的目的,32bpp 和 24bpp 之间有什么区别?

无论如何,vImage 例程可能是您想要的,因为您是从原始数据开始的。例如,vImageConvert_ARGB8888toARGB1555() 是一种将 32bpp 图像转换为 16bpp 的方法。 vImageConvert_ARGB8888toRGB565() 是一种不同的方式,尽管它忽略了 alpha 分量。

vImageConvert_ARGB8888toRGB888() 通过简单地删除 alpha 通道从 32bpp 转换为 24bpp。

等等