gpt4 book ai didi

c++ - 阅读 Targa 文件。缺少深色?

转载 作者:行者123 更新时间:2023-11-28 08:19:14 25 4
gpt4 key购买 nike

由于是新人,我只能有两个链接,不能发布我的图片。对于不得不复制+粘贴地址给您带来的不便,我们深表歉意

我正在解析一个 Targa (.tga) 图像文件,其代码类似于在 steinsoft.net/index.php?site=Programming/Code%20Snippets/Cpp/no8

将数据检索到 unsigned char 数组后,我将其打印到日志中以手动检查。似乎出于某种原因没有解析较深的颜色。


简单的打印代码

file.open( save );

//using while( tga.data[ i ] != NULL ) resulted in ~400,000 lines of garbage being appended
for( unsigned i = 1; i <= ( tga.width * tga.height * tga.byteCount ); i++ )
{
if( tga.data[ i ] == NULL )
break;

file << ( int )tga.data[ i ] << ",";

if( ( i % 3 ) == 0 )
file << "\n";
}

file.close( );

示例

黑暗:http://i.stack.imgur.com/qefIA.png:http://pastebin.com/8JeJwP2w

光:http://i.stack.imgur.com/XNTIK.png:http://pastebin.com/s2sW0XfM

如您所见,图像顶部的线条在深色(本例中为黑色)时不包含在内,但在浅色(粉红色 [255,53,204])时存在。

有没有人知道为什么会发生这种情况?


规范

window

Microsoft Visual C++ 2010 专业版

Targa 保存为 24 位未压缩。

最佳答案

首先,为什么要检查data[i]==NULL?可能有 0 像素(黑色),所以将它们全部保留。您基本上检查颜色是否为 0,然后退出循环。无论值如何,只需读取所有像素。

关于c++ - 阅读 Targa 文件。缺少深色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6567720/

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