C ++将图像转换为整数数组

时间:2010-04-17 19:51:27

标签: c++ image argb pixel-manipulation

如何将图像(.png文件)中的像素转换为整数数组,其中每个像素都转换为等效的ARGB整数?顺便说一句,不是一个2D整数数组,一个是1D(通过数组访问[row * width + col])。

感谢。

2 个答案:

答案 0 :(得分:1)

一旦你将图像数据读取到某个缓冲区,普通的强制转换就可以了:

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库,但其他库应该类似。

答案 1 :(得分:0)

除非您是为了兴趣和学习而做的,否则我建议您使用第三方库,例如ImageMagick
这将节省您的时间(并避免错误)