2016-06-14 14 views
1
var multiTiff = new TiffBitmapDecoder(tiffImgStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default); 

Ich kann die FormatConvertedBitmap-Klasse verwenden, um das Pixelformat zu konvertieren, aber zuerst wie kann ich überprüfen, dass jedes Bild Farbraum in diesem Multi Tiff indiziert ist?Wie überprüft man, ob der Tiff Farbraum indiziert ist mit TiffBitmapDecoder?

+0

[BitmapDecoder.Palette] (https://msdn.microsoft.com/en-us/library/system.windows.media.imaging.bitmapdecoder.palette%28v=vs. 110% 29.aspx)? – TaW

Antwort

1

Der Kommentar von TaW ist korrekt. Das Vorhandensein einer Palette in einer TIFF-Seite ist ein guter Indikator dafür, dass diese Seite farbindiziert ist. Sie können diesen Code verwenden:

for (int frameNumber = 0; frameNumber < multiTiff.Frames.Count; ++frameNumber) 
    if (multiTiff.Frames[frameNumber].Palette == null) 
    MessageBox.Show("Not indexed"); 
    else 
    MessageBox.Show("indexed");