gpt4 book ai didi

c - 位图加载器无法正确显示颜色

转载 作者:行者123 更新时间:2023-11-30 15:10:04 25 4
gpt4 key购买 nike

我需要将位图图像转换为纹理。因此,我正在编写用于解析位图的 C 代码。我能够解析位图 RGB 数据并显示它。但颜色无法正确显示。它的32位图像。(ARGB)

int pixels = width * height * 4;
unsigned char* data = new unsigned char[pixels];
const int row = width * 4;
const int colomn = height;
unsigned char* datarow = new unsigned char[row];
unsigned char data1[pixels];
#if 1
fseek(f, 54,SEEK_SET);
fread(data, sizeof(unsigned char), pixels, f);

fclose(file);
#endif
for(int i = 0; i < colomn; i++) {
for(int j = 0; j < row; j++)
{
data1[j+i*row] = data[j+((colomn-i)*row)];
}
}

最佳答案

您可能是最忘记图像由扫描线组成并且扫描线是 32 位对齐的人。所以你的简单的行/列计算不起作用。

参见Dealing with padding in a BMP file in C了解如何使用扫描线。

关于c - 位图加载器无法正确显示颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36405285/

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