| Autor |
Beitrag |
Borlox
      
Beiträge: 191
Win XP
Delphi 6 Enterprise
|
Verfasst: Do 30.08.07 10:02
Hi Leute,
seit Jahren möchte ich endlich mal wieder ein wenig was mit Delphi machen. Ist echt schon lange her! Und brauche mal ein paar Denkansätze von euch! Wär cool, wenn ihr mich dabei ein wenig unterstützen würdet.
Ich möchte gerne ein Programm schreiben, wo ich nur einen Ordner-Pfad angebe und er mir dann aus allen JPGs in dem Ordner Thumbnails macht und diese direkt in eine ZIP-Datei packt ohne dass die Dateien dann irgendwo noch auf der Festplatte auftauchen!
Ist das so einfach möglich? Wie mache ich das am Besten?
Gruß
Borlox
|
|
Jakob Schöttl
      
Beiträge: 929
Erhaltene Danke: 1
Delphi 7 Professional
|
Verfasst: Do 30.08.07 10:52
was meinst du mit thumbnails? kleine bilder? wie groß sollen die denn sein?
jedenfalls, wenn du ein verzeichnis nach bildern durchsuchen willst, das geht mit den Funktionen FindFirst und FindNext.
Verkleinern geht glaub ich ungefähr so, indem du sie in ein Image lädst und dann Stretch := True und eben verkleinerst.
dann mit einer Komponente (weiß nimmer wie die heißt, aber da gibts was) zippen und die orginale löschen.
|
|
Borlox 
      
Beiträge: 191
Win XP
Delphi 6 Enterprise
|
Verfasst: Do 30.08.07 11:40
Ja, kleine Vorschaubilder! Sollten natürlich die gleichen Seitenverhältnisse haben! Wie auch immer man das damit macht?
Ok, immer das nächste Bild in einem Ordner finden, das bekomme ich hin, aber wie lade ich denn so ein Image? Wohin lade ich es? Soll ja auch nicht angezeigt werden, was meiner Meinung auch immer viel Speicher verbraucht, was unnötig wäre!
Und ich möchte das Image dann ja direkt in die Zip-Datei haben und nicht erst irgendwo auf der Platte zwischenspeichern! Wie mache ich das denn?
Gruß
|
|
Jakob Schöttl
      
Beiträge: 929
Erhaltene Danke: 1
Delphi 7 Professional
|
Verfasst: Do 30.08.07 11:46
oje, wenn du ein so optimiertes programm haben willst, dann kann ich dir nicht helfen.
das verkleinern hätte ich gemacht, mit Image1.LoadFromFile und dann das Image seitenverhältnistreu verkleinert und dann das bild wieder gespeichert. so ungefähr
|
|
Borlox 
      
Beiträge: 191
Win XP
Delphi 6 Enterprise
|
Verfasst: Do 30.08.07 13:19
Muss nicht so ganz optimiert seit! Mir sit eigentlich nur wichtig, dass die Daten nicht unbedingt erst irgendwo zwischengespeichert werden müssen, sondern direkt in die ZIP-Datei geschrieben werden.
Würd mich über ein bisschen Beispielcode auch sehr freuen!
Gruß
Borlox
|
|
Jakob Schöttl
      
Beiträge: 929
Erhaltene Danke: 1
Delphi 7 Professional
|
Verfasst: Do 30.08.07 13:37
hoffentlich hilfts dir was, wenn ich dir das einfach so hinwerfe:
die procedure passt die größe von dem Bild an Panel1 an
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| uses JPEG; procedure BildAnzeigen(fn: string); var i,j: real; begin if FileExists(fn) then With Image1 do try Constraints.maxWidth := 0; Constraints.maxHeight := 0; Stretch := False; Autosize := True; Image1.Picture.graphic.LoadFromFile(fn); i := Width / Panel1.Width; j := Height / Panel1.Height; if j > i then i := j; AutoSize := False; Stretch := True; Constraints.maxWidth := Round(Width / i); Constraints.maxHeight := Round(Height / i); except MessageDlg('Datei "' + fn + '" kann nicht geöffnet und angezeigt werden.',mtError,[mbOk],0); end; end; |
aber ich weiß nicht, wie du das bild direkt in eine zip komprimieren kannst, sondern nur wie du es als jpg speicherst.
|
|
Borlox 
      
Beiträge: 191
Win XP
Delphi 6 Enterprise
|
Verfasst: Do 30.08.07 14:19
Ehrlich gesagt, hilft es mir nicht so richtig weiter! Wie gesagt, habe leider schon länger nichts mehr mit Delphi gemacht! Wozu wird denn überhaupt die Größe an Panel1 angepasst? Was bringt mir das? Kann ich dafür nicht einfach die WErte nehmen, die ich gerne hätte?
CU
|
|
Jakob Schöttl
      
Beiträge: 929
Erhaltene Danke: 1
Delphi 7 Professional
|
Verfasst: Do 30.08.07 14:52
na dann musst du hald die Breite und die Höhe des Panels (das einzige was im prinzip verwendet wird) durch die werte ersetzen.
|
|
Borlox 
      
Beiträge: 191
Win XP
Delphi 6 Enterprise
|
Verfasst: Do 30.08.07 15:12
Wozu brauche ich denn ÜBERHAUPT ein Panel? Warum kann ich Panel1.Width etc. nicht einfach durch nen Wert ersetzen und somit das Bild berechnen?
|
|
Jakob Schöttl
      
Beiträge: 929
Erhaltene Danke: 1
Delphi 7 Professional
|
Verfasst: Do 30.08.07 15:28
ich hab doch gesagt du brauchst das Panel nicht, und gesagt, dass du die Werte ersetzen kannst.
Missverständnis: ich hab den quelltext nicht für dich geschrieben und auch nicht angepasst, deswegen musst du ihn selber noch anpassen.
|
|