小编Ste*_*eve的帖子

C++表示一维数组中的3D数组

我想在一维数组中为每个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++ arrays mapping

5
推荐指数
2
解决办法
5912
查看次数

C++将float转换为unsigned char?

我是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循环'变量)

c++ floating-point unsigned-char

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

c++ ×2

arrays ×1

floating-point ×1

mapping ×1

unsigned-char ×1