我将如何将图像(.png 文件)中的像素转换为整数数组,其中每个像素都转换为其 ARGB 整数等效值?顺便说一下,不是 2D 整数数组,而是 1D 数组(通过数组 [row*width+col] 访问)。
谢谢。
我将如何将图像(.png 文件)中的像素转换为整数数组,其中每个像素都转换为其 ARGB 整数等效值?顺便说一下,不是 2D 整数数组,而是 1D 数组(通过数组 [row*width+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。
这将节省您的时间(并避免错误)