Из-за того, что я новичок, я могу иметь только две ссылки и не могу публиковать свои изображения. Приносим извинения за неудобства, связанные с копированием и вставкой адресов
Я разбираю файл изображения Targa (.tga) с кодом, аналогичным тому, который находится на странице steinsoft.net/index.php?site=Programming/Code%20Snippets/Cpp/no8.
После извлечения данных в массив беззнаковых символов я распечатываю их в журнале для проверки вручную. Кажется, что более темные цвета по какой-то причине не анализируются.
Простой код печати
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]).
У кого-нибудь есть информация о том, почему это может происходить?
Характеристики
Виндоус виста
Microsoft Visual С++ 2010 профессиональный
Тарга сохраняется как 24-битная НЕ сжатая.