Hallo,
hier im Forum sind unzählige Beispiele wie Thumbnails erstellt werden z.B.
http://www.delphipraxis.net/105189-t...rkleinern.html
Oder dieses:
Delphi-Quellcode:
procedure SaveImage(inBmp: TBitmap32; filename: string);
var jpeg: TJPEGImage;
bmp: TBitmap;
begin
jpeg := TJPEGImage.Create;
bmp := TBitmap.Create;
try
bmp.Assign(inBmp);
jpeg.CompressionQuality := 100;
jpeg.Assign(bmp);
jpeg.SaveToFile(filename);
finally
jpeg.Free;
bmp.Free;
end;
end;
procedure resizePicture(infile: string; outfile: string; width, height: integer;
aspectratio: boolean);
var srcpic, destpic: TBitmap32;
destrect, srcrect: TRect;
begin
srcpic := TBitmap32.Create;
destpic := TBitmap32.Create;
try
srcpic.LoadFromFile(infile);
if aspectratio = true then begin
if srcpic.Height > srcpic.Width then begin
width := height * srcpic.width div srcpic.height;
end else begin
height := width * srcpic.Height div srcpic.Width;
end;
end;
try
destpic.width := width;
destpic.height := height;
destrect := Rect(0, 0, destpic.width, destpic.height);
srcrect := Rect(0, 0, srcpic.width, srcpic.height);
srcpic.SetSize(67, 67);
srcpic.Stretch(NewWidth, NewHeight, sfLanczos3, 0, BMP);
// srcpic.StretchFilter:=sfLanczos; FUNKTIONIERT NICHT, WARUM?
destpic.Draw(destrect, srcrect, srcpic);
finally
srcpic.free;
end;
SaveImage(destpic, outfile);
finally
destpic.free;
end;
end;
Ich habe das Problem das ich quadratische Thumbnails brauche.
Die Ursprungsbilder sind hoch- und querformatig.
Wenn ich auf eine bestimmte Breite oder Höhe reduziere und den Rest stretche sieht es unter Umständen richtig verzehrt aus.
Hat jemand eine Idee wie mir das gelingen könnte?
Gruß
capo