![]() |
Bild verlustfrei verkleinen TGraphi32
Hallo.
Delphi-Quellcode:
Nun wenn es sich um kleine Bilder handelt 100x75 wird das bild pixelig.. Die Anwendung IrfanView macht das viel besser!
procedure TForm1.Resizepicture(var Datei: TJpegImage; width, height: Integer);
var bmp:TBitmap; begin Try bmp:=TBitmap.Create; try If Datei.width>Datei.Height then begin bmp.width:=width; bmp.height:=height; end else begin bmp.width:=height; bmp.Height:=width; end; bmp.canvas.StretchDraw(Rect(0,0,bmp.width,bmp.height),Datei); Datei.assign(bmp); finally bmp.free; end; except on e:exception do begin beep; end; end; end; Ich habe mir wurde die TGrafik32 empfohlen. Da ich in diese Koponente neu bin wollte ich fragen, wie ich ein Bild verkleinen kann mit TGraphi32. hat jemand ein Beispiel? Danke |
Re: Bild verlustfrei verkleinen TGraphi32
Kurz gesagt: Es ist nicht möglich ein Bild beliebig, verlustfrei zu verkleinern.
Ansonsten guck dir aber zum verkleinern die TBitmap32.Draw-Methode an. |
Re: Bild verlustfrei verkleinen TGraphi32
guckstu hier:
![]() verlustfreies skalieren ist per definitionem bei rastergrafik leider nicht möglich; dafür empfehle ich vektorbasierte grafikformate, zum Beispiel SVG ;) |
Re: Bild verlustfrei verkleinen TGraphi32
Problem ist nur. wenn ich eine TJPEG übergebe muss ich aus die verkleinte JPEG habe. Ds kann ich leider nicht.
|
Re: Bild verlustfrei verkleinen TGraphi32
TBitmap32 kann JPEG in Datei speichern, allerdings nur "rudimentär", du hast also keinerlei Kompressionsoptionen. Dafür brauchst du eine entsprechende Extra-Klasse, zum Beispiel TJPEGImage aus der (mitgelieferten) unit jpeg. Ich hatte in einem anderen Thread schon mal Pseudocode zur Konvertierung TBitmap32->TJEGImage geschrieben, glaube ich, ich suche das mal raus. :gruebel:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 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