- 2009.12.08 17:53 "Re: [Tiff] Problems with multiple strip G4 to single strip G4 tiff.", by Phillip Wiles
- 2009.12.08 18:11 "Re: [Tiff] Problems with multiple strip G4 to single strip G4 tiff.", by Juergen Buchmueller
-
2010.01.08 00:13 "[Tiff] can please anybody help?", by Kavallieratou Ergina
- 2010.01.07 17:42 "[Tiff] create simple tiff", by Kavallieratou Ergina
- 2010.01.08 00:39 "Re: [Tiff] can please anybody help?", by Brad Hards
- 2010.01.08 23:53 "[Tiff] me again...", by Kavallieratou Ergina
2010.01.08 23:53 "[Tiff] me again...", by Kavallieratou Ergina
Brad, first of all I would like to thank you for your answer. But I still have problems.
imagen is a black and white image that I have loaded from a bmp file. It is
imagen->height=3290
imagen->width = 2552
imagen->bits_per_pixel=8;
the imagen->data includes only 0s (background) and 1s (foreground)
I wish to save it as a tiff image. Your remark sounds logical and I did it, however now it stops running when y=2 in
if (TIFFWriteScanline(out,bits, y, 0)==-1) cout<<"Complete or error";
I am not sure if in either of
TIFFSetField(out, TIFFTAG_SAMPLESPERPIXEL, 1);
TIFFSetField(out, TIFFTAG_BITSPERSAMPLE, 1);
the 1 should be 8. I tried all of them but the program always stops at the same point. any more suggestions? Please help!
I attach the code here.
thank you again
struct gen
{
unsigned char ** data;
unsigned short int width;
unsigned short int height;
unsigned short int bits_per_pixel;
};
struct gen imagen;
TIFF *out= TIFFOpen("ar.tif", "w");
TIFFSetField (out, TIFFTAG_IMAGEWIDTH, imagen->width); TIFFSetField(out, TIFFTAG_IMAGELENGTH, imagen->height);
TIFFSetField(out, TIFFTAG_SAMPLESPERPIXEL, 1);
TIFFSetField(out, TIFFTAG_BITSPERSAMPLE, 1);
TIFFSetField(out, TIFFTAG_ORIENTATION, ORIENTATION_TOPLEFT);
TIFFSetField(out, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
TIFFSetField(out, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISBLACK); BYTE *bits;
for (int y = 0; y < imagen->height; y++)
{
bits= imagen->data[y*imagen->width];
if (TIFFWriteScanline(out,bits, y, 0)==-1) cout<<"Complete or error";
}