iOS - 将UIImage保存为灰度JPEG

时间:2013-10-17 22:56:45

标签: ios image-processing uiimage jpeg

在我的应用中,我转换并处理图像。 从颜色到灰度,然后进行直方图均衡,过滤等操作。 那部分工作正常。

我的UIImage正确显示,我也将它们保存到jpeg文件中并且可以正常工作。

唯一的问题是,虽然我的图像现在是灰度,但它们仍然保存为RGB jpeg。也就是说,每个像素的红色,绿色和蓝色值是相同的,但它仍然浪费空间来保持重复的值,使文件大小高于它可能。

所以当我在photoshop中打开图像文件时,它是黑色的&白色,但当我检查“Photoshop>图像>模式”时,它仍然说“RGB”而不是“灰度”。

任何人都知道如何告诉iOS UIImageJPEGRepresentation调用应该创建每个像素一个通道而不是4个通道的数据?

提前致谢。

1 个答案:

答案 0 :(得分:1)

您应该使用CGColorSpaceCreateDeviceGray()作为色彩空间进行显式转换,每个分量为8位,1个通道。