fpc/packages/fcl-image/examples/interpoldemo.pp
marco ee47ad22ff * Fix scaling with alpha channel. Patch from Bernd Kreuss, Mantis #22245
* Demo that demonstrates image scaling/interpolation

git-svn-id: trunk@21639 -
2012-06-18 09:01:41 +00:00

40 lines
854 B
ObjectPascal

program interpoldemo;
// Interpolation demo for fcl-image by Bernd Kreuss. Mantis #22245
// Loads original.png (not included) and scales it back to 64x64
{$mode objfpc}{$H+}
uses
Classes,
sysutils,
FPimage,
FPImgCanv,
FPReadPNG,
FPWritePNG;
var
ImOriginal: TFPMemoryImage;
ImScaled: TFPMemoryImage;
CanvScaled: TFPImageCanvas;
Reader: TFPReaderPNG;
Writer: TFPWriterPNG;
begin
ImOriginal := TFPMemoryImage.Create(0, 0);
ImScaled := TFPMemoryImage.Create(64, 64);
Reader := TFPReaderPNG.create;
Writer := TFPWriterPNG.create;
Writer.UseAlpha := True;
ImOriginal.LoadFromFile('original.png', Reader);
CanvScaled := TFPImageCanvas.create(ImScaled);
CanvScaled.StretchDraw(0,0,63,63, ImOriginal);
ImScaled.SaveToFile('scaled.png', Writer);
Reader.Free;
Writer.Free;
ImOriginal.Free;
ImScaled.Free;
end.