通过调用 CGWindowListCreateImage 获得的屏幕截图是 RGBA 图像。
如何强制它返回 RGB 格式的图像(每像素 3 个字节)?
谢谢!!!
最佳答案
CGImage
不支持没有 Alpha channel 的格式。甚至 kCGImageAlphaNone
也只是意味着“忽略 alpha 位。”
如果您想要 24 位图像格式,则需要自行转换。 vImage 有一些例程可以有效地完成此操作。例如,您可以使用 vImageFlatten_ARGB8888ToRGB888
将 ARGB 转换为 RGB .
关于CGWindowListCreateImage 创建每像素 4 字节的图像。如何将其更改为每像素 3 个字节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19252622/