TIFF, DIB section кто имел дело ?
Добавлено: 03 мар 2003, 11:08
				
				я не сильно копенгаген в этом. 
откомпилил библиотечку с http://www.tiff.org
файл зачитывается - теперь хочу этот массив на устройстве отобразить.
как мне получить DC для копирования. ?
вот кусок из кода :
DIB секция имеет адрес в ptr_dest
теперь хочу довести до такой строки - DC_src хочу
HDC DC1 = GetDC(Image->Picture->Bitmap->Canvas->Handle);
BitBlt(DC1, 0, 0, w, h, DC_src, 0, 0, SRCCOPY);
DeleteDC(DC1);
			откомпилил библиотечку с http://www.tiff.org
файл зачитывается - теперь хочу этот массив на устройстве отобразить.
как мне получить DC для копирования. ?
вот кусок из кода :
Код: Выделить всё
     if (TIFFReadRGBAImage(tiff, w, h, raster, 0))
                 {
                    // 4)
                    // its tempting to copy straight to the DIB,
                    // however the DIB has an alignment
                    // restriction that is not applicable to
                    // tiff files...so they may have different
                    // widths
                    unsigned long * dest =
                         (unsigned long *)m_dib->GetBits();
                    unsigned long * src =
                         (unsigned long *)raster;
                    for (int row = 0; row < h; row++){
                       void * ptr_dest = dest + row * dibwidth;
                       void * ptr_src = src + row * w;
                       memcpy(ptr_dest,ptr_src,w*sizeof(int));
                    }
DIB секция имеет адрес в ptr_dest
теперь хочу довести до такой строки - DC_src хочу
HDC DC1 = GetDC(Image->Picture->Bitmap->Canvas->Handle);
BitBlt(DC1, 0, 0, w, h, DC_src, 0, 0, SRCCOPY);
DeleteDC(DC1);