gpt4 book ai didi

c++ - stb镜像写入问题

转载 作者:行者123 更新时间:2023-11-28 04:18:26 24 4
gpt4 key购买 nike

我正在尝试使用 stb_image_write 将一个简单的图像文件写入磁盘。我使用最简单的测试用例:128 x 128 像素的 RGB 图像。

我在网上找到了这个例子,那家伙似乎说它工作得很好,而且它看起来和我花了 2 个小时写的一模一样:

void save_image(int w, int h, int channels_num)
{

int data[w * h * channels_num];

int index = 0;
for (int j = h - 1; j >= 0; --j)
{
for (int i = 0; i < w; ++i)
{
float r = (float)i / (float)w;
float g = (float)j / (float)h;
float b = 0.2f;
int ir = int(255.0 * r);
int ig = int(255.0 * g);
int ib = int(255.0 * b);

data[index++] = ir;
data[index++] = ig;
data[index++] = ib;
}
}

stbi_write_jpg("jpg_test_.jpg", w, h, channels_num, data, 100);
}

save_image(128, 128, 3);

结果应该是一个漂亮的颜色渐变,但我所能得到的只是一个带有一些垂直的红色、绿色、蓝色和黑色线条的有效文件。不过图像的尺寸还可以。我在这里实在找不到解决办法。我在 Linux 上,杰西。是否存在“字节顺序”问题或类似问题?

最佳答案

问题已在评论中得到解答。我不得不更换: 整数数据[]经过 : 无符号字符数据[];

关于c++ - stb镜像写入问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56039401/

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