如何会去的图像(PNG文件)的转换的像素以一个整数数组,其中每个像素被转换成ARGB其等值整数?不通过的方式二维整数阵列,1D一个(其中访问是通过阵列[行*宽度+ COL])。

感谢。

有帮助吗?

解决方案

一旦您已经阅读图像数据,以一定的缓冲,普通铸铁应该做的伎俩:

GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file ("image.png", NULL);
unsigned char *pixels = gdk_pixbuf_get_pixels (pixbuf);
int *array = reinterpret_cast<int*>(pixels);

实施例使用GdkPixbuf库中,但其他的库应该是相似的。

其他提示

除非你这样做是为了兴趣和学习,我会建议你使用第三方库,例如的 ImageMagick的。结果 这将节省您的时间(避免错误)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top