![]() |
Thumbnails/Vorschaubilder schnell erstellen
Folgend ein Code mit dem man mit ähnlicher Geschwindigkeit wie Windows XP Vorschaubilder aus JPGs erstellen kann:
Delphi-Quellcode:
Der Beispielaufruf wurde von omata
Function SchnelleVorschaubilder(Datei: String; Groesse: Integer): TBitmap;
var JPG: TJPEGImage; Bitm: Tbitmap; Hoehe, Weite, X: integer; Verh: Double; begin result := TBitmap.Create; JPG := TJPEGImage.Create; Bitm := TBitmap.Create; try JPG.LoadFromFile(Datei); JPG.Scale := jsEighth; Bitm.Assign(JPG); if (Bitm.Height > 0) AND (Bitm.Width > 0) then begin Verh := Bitm.Width/Bitm.Height; result.Width := Groesse; result.Height := Groesse; if Verh >= 1 then begin Hoehe := Round(Groesse/Verh); x := round((Groesse-Hoehe)/2); result.canvas.StretchDraw(Rect(0,X,Groesse,Hoehe+X),Bitm); end else begin Weite := Round(Groesse*Verh); X := round((Groesse-Weite)/2); result.Canvas.StretchDraw(Rect(x,0,Weite+x,Groesse),Bitm); end; end else result := nil; finally FreeandNil(Bitm); FreeandNil(JPG); end; end; procedure TForm1.Button1Click(Sender: TObject); // Beispielaufruf var Bitmap: TBitmap; begin if Opendialog1.Execute then begin Bitmap := SchnelleVorschaubilder(OpenDialog1.FileName, 60); try Image1.Picture.Bitmap.Assign(Bitmap); finally Bitmap.Free; end; end; end; ![]() [edit=Chakotay1308]Titel angepasst. Mfg, Chakotay1308[/edit] [edit=Chakotay1308]Styleguide und verbesserte Zuweisung. Mfg, Chakotay1308[/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz