als alter Delphi-Programmierer arbeite ich auch immer wieder gerne mit Lazarus und freue mich wie schön sich das entwickelt.
Für meinen FPC-WebGallery-Generator möchte ich Jpegs schön resampeln. Habe das früher mit ImageMagick gemacht, aber das ist etwas umständlich. Daher habe ich folgenden Code ausprobiert:
Code: Alles auswählen
var
Src :TPicture;
Bmp :TBitmap;
f :single;
begin
Src := TPicture.Create;
Src.LoadFromFile('D:\TEMP\IMG_2018.jpg');
Bmp := TBitmap.Create;
Bmp.PixelFormat:=pf24Bit;
f := Src.Width/Src.Height;
Bmp.Width := 1920;
Bmp.Height := round(Bmp.Width/f);
Bmp.Canvas.Interpolation := TCatromInterpolation.Create;
Bmp.Canvas.StretchDraw(TRect.Create(0, 0, Bmp.Width, Bmp.Height), Src.Graphic);
Bmp.SaveToFile('D:\TEMP\IMG_2018_HD_Catrom.bmp');
Leider habe ich bisher keine Beispiele für den Einsatz fer TFPCustomIntrpolation-Abkömmlinge entdeckt.
bei Delphi kann man die GDIPlus ganz gut nutzen, für die es dort eine schöne API gibt (http://www.bilsen.com/gdiplus/index.shtml). Gibts soetwas auch was für Lazarus?
Ach ja - braucht nur unter Windows laufen.
Liebe Grüße