我有一个unsigned char数组,实际上是一个RGBA原始图像。如何将其导出到图像文件?任何图像文件格式都可以。
答案 0 :(得分:1)
您可以将其直接写成RGBA二进制文件。然后使用ImageMagick,它安装在大多数Linux发行版上,可用于OSX和Windows将其转换为PNG
或更常见的东西:
convert -size 300x400 -depth 8 binary.rgba result.png
您需要告诉ImageMagick上面的图像尺寸,因为它们显然没有嵌入到原始文件中,就像它们是带有标题的JPEG或PNG一样。
如果您选择的文件名未以.rgba
结尾,则需要在其前面添加RGBA:
这样的
convert -size ... RGBA:something.bin result.png
如果您使用的是OSX,我个人认为homebrew
是安装ImageMagick的最简单方法......
brew install imagemagick
答案 1 :(得分:0)
我认为最好的办法就是将其保存到.bmp
文件中,因为基本上位图是一个(颠倒的)rgba值数组。因此,您只需编写一个简单的标题,然后逐行将其写入文件。
对于标题,您必须先写入文件标题,然后才有DIB
标题。有多种选择,但我建议使用simple one。
位图格式支持许多花哨的东西,但大多数是可选的,并且你的建议没有必要。