使用C ++创建具有单一纯色的图像

时间:2015-10-01 17:16:29

标签: c++ image png

我想创建一个纯色的PNG(或其他格式)图像。我怎么能用C ++做到这一点?

1 个答案:

答案 0 :(得分:3)

如果可以接受任何通用格式,请编写PPM文件,该文件看起来像

P3 2 3 255
255 0 0
255 0 0
255 0 0
255 0 0
255 0 0
255 0 0

第一行是PPM标题: " P3"标识文件格式, " 2"是宽度, " 3"是高度, " 255"是样本值的范围(0..255)。

" 255 0 0"是红色像素(红色= 255,绿色= 0,蓝色= 0)。 重复" 255 0 0"直到你定义了宽度*高度像素。

然后,如果您需要PNG,请使用ImageMagick,GraphicsMagick或其他转换器从PPM文件制作PNG。如果您想在程序中执行此操作,可以使用ImageMagick和GraphicsMagick的C ++绑定,或者只使用命令行:

convert file.ppm file.png

gm convert file.ppm file.png

PPM的唯一问题是它不支持alpha,因此如果需要alpha通道,这种方法会稍微复杂一些。一种方法是将alpha放在一个单独的PGM文件中(如PPM但只有一个通道),然后将它们与ImageMagick或GraphicsMagick合并。

Mark Setchell编辑...如果您想了解有关Glenn的伟大建议的更多信息,可以有一个很好的描述here