
Thread
2004.12.29 11:32 "[Tiff] (no subject)", by Jamel BEL HADJ BRAHIM
Thanks,
return value of TIFFWriteEncodedStrip is 3725568
XSIZE 1728
YSIZE 2156
I usually obtain a black image. (?????????????????)
(I work on Windows XP)
Thank you for help
My code is:
HBITMAP hImage = (HBITMAP)LoadImage(NULL, "C:\\test001.bmp", IMAGE_BITMAP,
0, 0, LR_LOADFROMFILE|LR_DEFAULTSIZE|LR_CREATEDIBSECTION);
CBitmap* m_Bitmap = CBitmap::FromHandle(hImage);
BYTE* buffer=(BYTE*)GlobalAlloc(GPTR, XSIZE * YSIZE);
DWORD ret = m_Bitmap->GetBitmapBits(XSIZE * YSIZE , buffer);
out = TIFFOpen("C:\\out.tif", "w");
if (!out) return;
TIFFSetField(out, TIFFTAG_IMAGEWIDTH, XSIZE); TIFFSetField(out,
TIFFTAG_IMAGELENGTH, YSIZE); TIFFSetField(out, TIFFTAG_BITSPERSAMPLE, 1);
TIFFSetField(out, TIFFTAG_SAMPLESPERPIXEL, 1); TIFFSetField(out,
TIFFTAG_ROWSPERSTRIP, YSIZE); TIFFSetField(out, TIFFTAG_SUBFILETYPE, 0);
TIFFSetField(out, TIFFTAG_COMPRESSION, COMPRESSION_CCITTFAX4);
TIFFSetField(out, TIFFTAG_GROUP4OPTIONS, 0); TIFFSetField(out,
TIFFTAG_FAXMODE, FAXMODE_CLASSF); TIFFSetField(out, TIFFTAG_PHOTOMETRIC,
PHOTOMETRIC_MINISWHITE); TIFFSetField(out, TIFFTAG_PLANARCONFIG,
PLANARCONFIG_CONTIG); TIFFSetField(out, TIFFTAG_FILLORDER,
FILLORDER_LSB2MSB);
TIFFSetField(out, TIFFTAG_ORIENTATION, ORIENTATION_TOPLEFT);
TIFFSetField(out, TIFFTAG_RESOLUTIONUNIT, RESUNIT_INCH); TIFFSetField(out,
TIFFTAG_XRESOLUTION, 204.0); TIFFSetField(out, TIFFTAG_YRESOLUTION, 196.0);
TIFFSetField(out, TIFFTAG_DATETIME, "2004:12:23 10:17:19");
TIFFSetField(out, TIFFTAG_SOFTWARE, "Jamel"); TIFFSetField(out,
TIFFTAG_PAGENUMBER, 0, 1);
uint32 ret = TIFFWriteEncodedStrip(out, 0, buffer, XSIZE * YSIZE);
TIFFClose(out);
GlobalFree(buffer);