Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi .jpg auf eine größe von 50x50 pixel verkleinern (https://www.delphipraxis.net/453-jpg-auf-eine-groesse-von-50x50-pixel-verkleinern.html)

Friesi 23. Jul 2002 19:36


.jpg auf eine größe von 50x50 pixel verkleinern
 
Hallo
Ich wollte ein Programm schreiben womitman .jpg bilder auf eine größe von 50x50 Pixel verkleinern kann!
Ich habe kann nun also die .jpg Bilder in der FileListBox auswählen weis nun aber nicht wie ich weiter machen soll :)

Da ich noch nicht lange mit Delphi arbeite wollte ich mal fragen wie ich das ambesten mache!

Hier könnt ihr ein Bild sehen wie weit ich schon bin (ist nicht gerade viel :) )

---------- by Daniel B. -----------------------------
Hier ist mal ein Screenshot: http://www.girlpaper.de/bild1.jpg
-------------------------------------------------------

Rechts ist nun also das Bild im TImage was verkleinert werden soll :)

Könnt mir da einer helfen?!


@(Ost??) Friesi :mrgreen: Bitte Bilder nicht direkt anzeigen. Denk doch mal an die Ladezeiten. Ein Link genügt.

Tpercon 23. Jul 2002 20:19

Da du die jpeg Unit eh schon eingebunden hast, ist das Laden undSpeichern kein Problem mehr. Zum Stretchen schau mal in der Hilfe nach StretchDraw. Damit geht's!

Gruß

Friesi 23. Jul 2002 20:22

aber speichert er es denn dann auch in der größe von 50x50 Pixel ab ?!

Tpercon 23. Jul 2002 20:31

Ich denke schon, da TCanvas.StretchDraw das angegebene gefüllte Rechteck doch übergibt und du dieses speicherst. Probiers einfach mal.

TimmA 24. Jul 2003 18:36

Re: .jpg auf eine größe von 50x50 pixel verkleinern
 
Hallo,

ich habe das gerade mal ausprobiert, da ich mir gerade ein kleines Prog. bastel bzw. es versuche :D indem BMP's in JPG's gewandelt werden und da auch eine "Bildvorschau" drin aber wenn ich da z.b. einen Screenshot von meinem Desktop mache ( 1600 x 1200) und den mit der Funktion Strech in 800 x 600 anzeigen lasse kann man da nichts lesen wenn ich es aber in Photoshop auf 800 x 600 runterschraube sieht es um einiges besser aus.

Ich habe zwar was gefunden wo man bmp's in jpg's wandeln kann und auch die kompremierungsstufew und grösse des Bildes einstellen kann, raff das aber nicht ganz :)

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var bmp: TImage;
    jpg: TJpegImage;
begin
  bmp := TImage.Create(nil);
  try
    jpg := TJpegImage.Create;
    try
      bmp.picture.bitmap.LoadFromFile(filename);
      jpg.Assign(bmp.picture.bitmap);
      //Hier können JPG-Eigenschaften wie Kompression, Größe usw. gesetzt werden
      jpg.SaveToFile(ChangeFileExt(BmpFileName, '.jpg'));
    finally
      jpg.Free;
    end;
  finally
    bmp.Free;
  end;
end;

aber wie mache ich das jetzt das er das vorhandene Bild auf z.B. 800 x 600 Pixel macht ?

Wäre nett wenn jemand ein Toturial geben könnte wo das ein bischen besser bzw. ausführlicher beschrieben ist als in dem oben ganannten Beispiel.

Danke schonmal :)

Gruss TimmA.

mirage228 24. Jul 2003 20:19

Re: .jpg auf eine größe von 50x50 pixel verkleinern
 
Zitat:

Zitat von TimmA
wenn ich da z.b. einen Screenshot von meinem Desktop mache ( 1600 x 1200) und den mit der Funktion Strech in 800 x 600 anzeigen lasse kann man da nichts lesen wenn ich es aber in Photoshop auf 800 x 600 runterschraube sieht es um einiges besser aus.

Photoshop macht auch noch mal Anti-Aliasing (Kantenglättung) drüber, so weit ich weiss.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:59 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