有没有一种方法可以将图像加载到三维int数组中,每个像素都有RGBA数据?
例如像素在60,20处是黑色的,我希望数组在[60][20]处为0,0,0,100。
您可以将RGBA声明为结构:
struct rgba {
unsigned char red;
unsigned char green;
unsigned char blue;
unsigned char alpha;
};
rgba image[640][480];
负载变成了这样:
file.read(image, sizeof(image));
Image img;
img.load(filename);
memcpy(image, img.data(), sizeof(image));
这是非常基础的代码,你应该测试load()函数是否正常工作,检查格式是否正确以及宽度x高度是否正确。