mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-06-09 09:38:25 +02:00
40 lines
854 B
ObjectPascal
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.
|
|
|