Skip to content

Commit c43b636

Browse files
Ensure palette is always captured.
1 parent a4c1a15 commit c43b636

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -584,6 +584,15 @@ private void DecodeStripsChunky<TPixel>(
584584
}
585585
}
586586

587+
{
588+
// If the color decoder is the palette decoder we need to capture its palette.
589+
if (colorDecoder is PaletteTiffColor<TPixel> paletteDecoder)
590+
{
591+
TiffFrameMetadata tiffFrameMetadata = frame.Metadata.GetTiffMetadata();
592+
tiffFrameMetadata.LocalColorTable = paletteDecoder.PaletteColors;
593+
}
594+
}
595+
587596
return;
588597
}
589598

@@ -621,11 +630,13 @@ private void DecodeStripsChunky<TPixel>(
621630
colorDecoder.Decode(stripBufferSpan, pixels, 0, top, width, stripHeight);
622631
}
623632

624-
// If the color decoder is the palette decoder we need to capture its palette.
625-
if (colorDecoder is PaletteTiffColor<TPixel> paletteDecoder)
626633
{
627-
TiffFrameMetadata tiffFrameMetadata = frame.Metadata.GetTiffMetadata();
628-
tiffFrameMetadata.LocalColorTable = paletteDecoder.PaletteColors;
634+
// If the color decoder is the palette decoder we need to capture its palette.
635+
if (colorDecoder is PaletteTiffColor<TPixel> paletteDecoder)
636+
{
637+
TiffFrameMetadata tiffFrameMetadata = frame.Metadata.GetTiffMetadata();
638+
tiffFrameMetadata.LocalColorTable = paletteDecoder.PaletteColors;
639+
}
629640
}
630641
}
631642

0 commit comments

Comments
 (0)