Приветствую всех
Нарисовалась проблемка
Ситуация вот в чем
Занимаюсь щас ГИСами, так вот, появилась необходимость открывать и просматривать TIFF формат.
Файлы примерно по гигу - два, и разрешением около 9000 х 25000
Покопался в инете нашёл libtiff которая позволяет работать с этим форматом.
Так же нашёл TiffIO, плагин для Qt который построен на базе libtiff.
Проблемка заключается в следущем:
файл открывается след образом
// Helpfull function, that handle any LAB/CYMK color conversion as well: stick with it !
// (But only when in 8 bps and without alpha ... too bad!)
if( bps == 8 || (bps==16 && mode==PHOTOMETRIC_RGB && !hasAlpha) )
{
success &= TIFFReadRGBAImageOriented(tif, width, height, (uint32*)img.bits(), ORIENTATION_TOPLEFT);
if( success && (TIFF2QT(0x11223344) != 0x11223344) )
for(uint i=0; i<width; i++)
for(uint j=0; j<height; ++j)
img.setPixel(i,j, TIFF2QT( img.pixel(i,j) ));
}
как я понял функция TIFFReadRGBAImageOriented(tif, width, height, (uint32*)img.bits(), ORIENTATION_TOPLEFT);
сначало загружает весь файл в память и уже потом отрисовывает( в демке у мя так и не получилось отрисовать гигововый файлик )
Соответственно хотелось бы как нить вытаскивать район определённого габарита, например, 1024 х 768, и отрисовывать его.
Может кто имел дело с tiff и мог бы помочь
буду очень благодарен
http://artis.imag.fr/Software/TiffIO/SOURCES/TiffIO-130e.tgz. Фотку прикреплять не буду