gpt4 book ai didi

c++ - 将 3 维数组引用转换为 1 维数组

转载 作者:太空宇宙 更新时间:2023-11-04 00:42:34 25 4
gpt4 key购买 nike

如果有一个 ar[5000] 数组,那么如果这是一个 3 维数组,我如何找到元素 [5][5][4] 的位置?谢谢

我正在映射像素:想象一个 [768 * 1024 * 4] 的双图像素 [5][5][4] 在哪里?

我想做这个:

static GLubyte checkImage[checkImageHeight][checkImageWidth][4];

static GLuint texName;
bool itt;
void makeCheckImage(void)
{
Bitmap *b = new Bitmap(L"c:/boo.png");

int i, j, c;
Color cul;

for (i = 0; i < checkImageHeight; i++) {
for (j = 0; j < checkImageWidth; j++) {
b->GetPixel(j,i,&cul);


checkImage[i][j][0] = (GLubyte) cul.GetR();
checkImage[i][j][1] = (GLubyte) cul.GetG();
checkImage[i][j][2] = (GLubyte) cul.GetB();
checkImage[i][j][3] = (GLubyte) cul.GetA();
}
}
delete(b);
}

在不创建多维数组的情况下工作。宽度 = 512,高度 = 1024....

最佳答案

这将取决于假想的三维阵列的尺寸及其布局方式。有时公式是 ar[z * x_size * y_size + y * x_size + x] == ar[z][y][x],但不知道每个维度的大小以及它们的顺序在里面,没有办法确定。

关于c++ - 将 3 维数组引用转换为 1 维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2998875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com