![]() |
Bilder von gesamten Ordner verkleinern
Hallo zusammen!
Ich habe einen Ordner, in dem Bilder gespeichert sind. In einer ListBox zeigt es mir die jeweiligen Pfade an. Wie kann ich alle diese Bilder, in möglichst kurzer Zeit, in eine beliebige Größe verkleinern? Gruß Matze |
Re: Bilder von gesamten Ordner verkleinern
In der
![]() Den Parameter "Dir" aber nicht falsch interpretieren. Als Dir musst du den Dateinamen übergeben. Naja, die anderen beiden sprechen ja für sich. Der Code klappt so allerdings nur für .jpg, für Bitmaps musst du ihn ein wenig modifizieren. Etwas ähnliches habe ich auch in meinem ![]() Bis dann, S - tefano |
Re: Bilder von gesamten Ordner verkleinern
Danke, das schau ich mir mal an.
Gruß Matze |
Re: Bilder von gesamten Ordner verkleinern
Genau so etwas brauche ich, jedoch ist danach die Bildquallität so miserabel, das ich das nicht verwenden kann. :(
Kann man diese procedure verwenden, aber mit einer anderen Bildquallität ? |
Re: Bilder von gesamten Ordner verkleinern
Nochmal danke S - tefano!
Ich nehme jetzt deinen Vorschlag. Das geht ganz gut, solange die Bilder keine Screenshots mit Text sind, da man den Text sonst nicht mehr lesen kann (ist eigentlich logisch). :wink: Gruß Matze |
Re: Bilder von gesamten Ordner verkleinern
Ich habe FocRacism's Code so umgeändert:
Code:
Wieso geht das an der gekennzeichneten Stelle nicht?
//Bildgröße ändern
procedure TForm1.ResizePicture(dir: string; width, height: integer); var i:integer; bmp:TBitmap; jpeg:TJpegImage; begin Jpeg:=TJpegImage.Create; try jpeg.LoadFromFile(dir); bmp:=TBitmap.Create; try If jpeg.width>jpeg.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),jpeg); jpeg.assign(bmp); finally bmp.free; end; CreateDir(Edit2.Text); //Wieso geht das nicht?? jpeg.SavetoFile(Edit2.Text); except end; finally jpeg.free; end; end; Gruß Matze |
Re: Bilder von gesamten Ordner verkleinern
Also für mich sieht das so aus, als würde in deinem Edit2.Text entweder ein Dateiname, oder ein Verzeichnisname stehen.
Eins von beiden wird mit einer der Funktionen CreateDir bzw. Savetofile bestimmt nicht zurechkommen. Denn entweder versuchst du die Datei unter einem Dateinamen zu speichern, der nur einen Pfad enthält, oder du versuchst ein Verzeichnis mit einem String zu erstellen, der neben dem Pfad auch schon einen Dateinamen enthält. Beschreib mal genauer, was für ein Fehler kommt und was in Edit2 drinsteht. Bis dann, S - tefano |
Re: Bilder von gesamten Ordner verkleinern
Du hast Recht!
Der Dateiname fehlt. :oops: In Edit2 steht: D:\Bilder Danke. :mrgreen: Gruß Matze |
Re: Bilder von gesamten Ordner verkleinern
Jetzt hab ich's so gemacht, aber es geht immer noch nicht. :evil:
Code:
In der CheckListBox stehen die Dateinamen.
jpeg.SavetoFile(Edit2.Text+'\'+CheckListBox1.Items.Strings[j]);
Mit j zähle ich die Einträge der CheckListBox durch und falls sie angeklickt sind, werden sie verkleinert und gespeichert. Kannst du mir da vielleicht auch helfen? :) Gruß Matze |
Re: Bilder von gesamten Ordner verkleinern
Wie gesagt, auch hier wäre eine genauere Beschreibung von dem, was so passiert recht wertvoll... was genau geht denn nicht?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:27 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 by Thomas Breitkreuz