Witam,
Potrzebuję skopiować fragment obrazka z grafiki PNG. Wykorzystuję do tego moduł PNGImage. Jest w nim zadeklarowany obiekt TPNGObject z udostępnioną właściwością Canvas.
var
png:TPNGObject;
bmp:TBitmap;
r:TRect;
//...
png:=TPNGObject.Create;
png.LoadFromFile('mapa.png');
bmp:=TBitmap.Create;
bmp.Width:=256;
bmp.Height:=256;
r:=Bounds(0,0,bmp.Width,bmp.Height);
bmp.Canvas.CopyRect(bmp.Canvas.ClipRect,png.Canvas,r);
//...
Niestety taki sposób kopiowania nie zachowuje oryginalnych kolorów.
Oryginał:
Skopiowany fragment:
Pytanie brzmi:
Jak to wykonać aby kolory zostały zachowane? Program w Delphi 7.