我想在一维数组中为每个3D坐标存储aFloat的字节值(pixelArray):
float aFloat = 1.0;
unsigned char* pixelsArray = new unsigned char[HEIGHT*WIDTH*3];
for (int i = 0; i < HEIGHT; i++)
{
for (int j = 0; j < WIDTH; j++)
{
for (int k = 0; k < 3; k++)
{
pixelsArray[?] = aFloat;
}
}
}
Run Code Online (Sandbox Code Playgroud)
会怎么样?+ sizeof(float)如果我没有弄错的话,我认为它还需要在索引中的某个位置.
我是C++的新手,并且做了一些我认为sprintf可以完成这项工作的谷歌搜索,但是在编译时我得到一个错误,我无法在a unsigned char和a 之间进行转换char.我需要一个unsigned char,因为我打算打印到图像文件(0-255 RGB).
unsigned char*** pixels = new unsigned char**[SIZE];
vector<float> pixelColors;
...
sprintf(pixels[i][j][k], "%.4g", pixelColors.at(k));
Run Code Online (Sandbox Code Playgroud)
(pixelColors的大小为3,'k'指的是'for循环'变量)