I have a gif image of 80x40 pixels. The color palette of this image consists of a few similar colors that have different numbers in the palette. How can I build a 2d array where the cell at x,y
will be a number of the color in the palette?
TGifImage has such an array built in, so just make use of it:
var
Gif:TGifImage;
PaletteIndex : byte;
begin
Gif := TGifImage.Create;
// ... load your stuff here ...
// TGifImage has an Images property, which is probably only interesting if you're dealing with animations, so just take the first image.
PaletteIndex := Gif.Images[0].Pixels[0,0]; // palette index for top-left pixel
// Now, to get the actual TColor for that pixel, you could do this:
Self.color := Gif.Images[0].ColorMap.Colors[PaletteIndex];
end;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With