在C中,我有一个长度为3*DIM*DIM
的无符号字符(即0到255之间)的1D数组,表示DIM*DIM
像素图像,其中前3个像素是RGB级别第一个像素,第二个3像素是第二个像素的RGB级别,等等。我想将其保存为PNG图像。进行此转换的最简单,最轻量级的方法是什么?
显然,OpenGL可以读取和显示此表单的图像(GLUT_RGB),但DIM
大于我的监视器屏幕的尺寸,因此只显示图像并截取屏幕截图不是一种选择。
目前,我一直在进行转换,只需将数组保存为CSV文件,将其加载到Mathematica中,然后将其导出为PNG,但这非常慢(单个7000 *约8分钟) 7000像素图像)。
答案 0 :(得分:4)
您可以使用许多出色的第三方库将像素数据数组转换为图片。
所有这些都支持C,并且相对容易使用。