Code: Select all
unsigned int PhotoMetric = -1, SamplesPerPixel = 1, BitsPerSample = 1;
TIFFGetField(Tiff, TIFFTAG_PHOTOMETRIC, &PhotoMetric);
TIFFGetField(Tiff, TIFFTAG_SAMPLESPERPIXEL, &SamplesPerPixel);
TIFFGetField(Tiff, TIFFTAG_BITSPERSAMPLE, &BitsPerSample);
if ((PhotoMetric == PHOTOMETRIC_MINISWHITE) || (PhotoMetric == PHOTOMETRIC_MINISBLACK) || (SamplesPerPixel == 1)) {
if (BitsPerSample == 1)
Type = PRESCRENED_TIFF_IMAGE;
else
Type = MONOCHROME_TIFF_IMAGE;
} else if (SamplesPerPixel == 4)
Type = CMYK_TIFF_IMAGE;
else
Type = OTHER_TIFF_IMAGE;
In Python verwenden wir PIL, um TIFF-Bilder zu analysieren. Einige TIFF-Bilder werden im C-Code als CMYK_TIFF_IMAGE klassifiziert, während sie in Python entsprechend dem Image.mode-Attribut entweder als RGBA oder als CMYK klassifiziert werden. Das müssen wir konsequent durchhalten. Welche zusätzlichen Prüfungen sollten dem C-Code hinzugefügt werden, um CMYK-Bilder von RGBA-Bildern zu unterscheiden?
Mobile version