将图像像素加载到2D数组中

时间:2012-12-24 17:26:41

标签: arrays pixels

如何在C或C ++中将图像的像素加载到2D数组中?

1 个答案:

答案 0 :(得分:0)

您可以使用DevIL (openil)将图像文件加载到ILubyte数组中:

ILubyte *Lump;
ILuint Size;
FILE *File;

File = fopen("monkey.tga", "rb");
fseek(File, 0, SEEK_END);
Size = ftell(File);

Lump = (ILubyte*)malloc(Size);
fseek(File, 0, SEEK_SET);
fread(Lump, 1, Size, File);
fclose(File);

ilLoadL(IL_TGA, Lump, Size);
free(Lump);

第一个字节为红色,第二个字节为绿色,第三个字节为蓝色,依此类推。如果你想要一个2d数组,那么编写嵌套循环可能是个好主意。