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