Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Mehrere Bilder aus einer ListBox speichern! (https://www.delphipraxis.net/129584-mehrere-bilder-aus-einer-listbox-speichern.html)

ünneb 21. Feb 2009 19:24


Mehrere Bilder aus einer ListBox speichern!
 
Hallo,
und zwar hät ich da mal eine Frage. Ich programmier gerade mit ein Kumpel im Informatikunterricht ein Programm zur Bildbearbeitung. Unser Problem ist gerade, wir lesen mehrere Bilder in unser Programm ein, diese werden dann in einer ListBox angezeigt. Ich kann über die ListBox auf alle eingelesene Bilder Bild zugreifen, d.h. wenn ich ein Bild anklicke, dann zeigt es mir dieses in meiner TImage an. So, wenn wir jetzt alle Bild bearbeitet haben, wollen wir diese auf einmal speichern, nicht in einer Datei, sondern eben in einzelne! Wir haben jetzt überall mal geguckt und prbiert, sind aber noch nicht so recht weiter! Wäre nett, wenn uns einer weiterhelfen könnte! :-D

Lg Benni

mkinzler 21. Feb 2009 19:28

Re: Mehrere Bilder aus einer ListBox speichern!
 
Schau dir mal TImageList an

ünneb 21. Feb 2009 20:18

Re: Mehrere Bilder aus einer ListBox speichern!
 
Hm,geht das mit einer TImageList? Wir haben die im Unterricht eigentlich nur benutzt um mehrere Bilder einzulesen und diese dann in unser Programm eingefügt! Bei TImageList, kann ich doch eigentlich nur Bilder vorher reinladen, ich kann doch mit mein Programm nicht weiter den Inhalt der Liste ändern,oder?
Nja, wir lesen die Bilder über ein extra Button in ListBox ein. Und diese wollen wir dann aus der Liste wieder als JPG speichern, eben nicht alles einzeln, sonder alle gleich auf einmal!

mkinzler 21. Feb 2009 20:31

Re: Mehrere Bilder aus einer ListBox speichern!
 
Dann musst du halt in einer Schleife durch die Pfade der Liste iterieren

ünneb 21. Feb 2009 20:36

Re: Mehrere Bilder aus einer ListBox speichern!
 
:gruebel: öhm,sorry komm ich nicht hinterher! Unser Wissensstand bzgl. Delphi und Programmieren reduziert sich auf den Informatikunterricht der Klasse 11 und 12! Kannst du mir vlt. ein Hinweis geben wie ich das anstellen kann? Bitte.

mkinzler 21. Feb 2009 20:38

Re: Mehrere Bilder aus einer ListBox speichern!
 
Worin werden die Bilder denn gespeichert?

ünneb 21. Feb 2009 20:40

Re: Mehrere Bilder aus einer ListBox speichern!
 
In einem TImage.

mkinzler 21. Feb 2009 20:45

Re: Mehrere Bilder aus einer ListBox speichern!
 
Das kann aber nur ein Bild aufnehmen und nicht mehrere

ünneb 21. Feb 2009 20:52

Re: Mehrere Bilder aus einer ListBox speichern!
 
Naja, also wir haben das so gemacht, dass wir mehrere Bilder öffnen in dem wir die in einer ListBox zwischenspeichern. Und wenn wir dann auf z.bsp. auf das 2te Bild klicken, dann wird das im TImage angezeigt.
so,dass ist Quelltext zum öffnen der Bilder und dann zum einlesen in die ListBox:
Delphi-Quellcode:
//Öffnen bei Projekt
procedure TForm1.ffnen2Click(Sender: TObject);
var jpg   : TJPEGImage;
    filename : string;
begin
  if OpenPictureDialog1.Execute then
  begin
    filename := OpenPictureDialog1.FileName;
    jpg := TJPEGImage.Create;
    jpg.LoadFromFile(filename);
    Image1.Picture.Graphic := jpg;
    FreeAndNil(jpg);
    Panel1.Caption:=ExtractFilename(filename);
    Panel2.Caption:= filename; //Dateipfad ausgeben
    Listbox1.Items.AddStrings(OpenPictureDialog1.Files);
  end;

end;
{------------------------------------------------------------------------------}
//Auswählen von einem Bild in ListBox und ausgabe in TImage
procedure TForm1.ListBox1Click(Sender: TObject);
var jpg   : TJPEGImage;
    filename : string;
begin
  filename:=ListBox1.Items[ListBox1.ItemIndex];
  jpg := TJPEGImage.Create;
  jpg.loadfromfile(filename);
  Image1.Picture.Graphic := jpg;
  FreeAndNil(jpg);
  Panel1.Caption:=ExtractFilename(filename);
  Panel2.Caption:= filename;
end;
Vielleicht hilft dir das ja weiter?!...

mkinzler 21. Feb 2009 20:55

Re: Mehrere Bilder aus einer ListBox speichern!
 
Das ganze hat nur das Problem, dass nur die Pfade der Bilder gespeichert werden!

ünneb 21. Feb 2009 20:58

Re: Mehrere Bilder aus einer ListBox speichern!
 
Hm, nja,aber es geht ja soweit. Ich habe die Bilder in meinen Programm, kann sie auch über TImage ausgeben und auch verändern und verändert als JPG-Datei abspeichern, aber eben immer nur einzeln und nicht alle in einen Schwung.

ünneb 21. Feb 2009 20:59

Re: Mehrere Bilder aus einer ListBox speichern!
 
Ach so,naja über den Dateipfad öffnet er ja auch immer das dann das Bild aus der Liste.

ünneb 24. Feb 2009 17:42

Re: Mehrere Bilder aus einer ListBox speichern!
 
so,noch mal das Thema aktualisieren! Wäre nett,wenn uns da jemand weiterhelfen kann!=) Die Problematik besteht nämlich immer noch und wir haben auch noch keine richtige Lösung gefunden! :(

mkinzler 24. Feb 2009 18:17

Re: Mehrere Bilder aus einer ListBox speichern!
 
Wie gesagt, speichere die Bilder in einer Imagelist

shmia 24. Feb 2009 18:31

Re: Mehrere Bilder aus einer ListBox speichern!
 
1.) mehrere Bilder einlesen
2.) berechnen, wie groß das Ergebnisbild werden soll (Länge & Breite)
Es kommt nun drauf an, ob die Einzelbilder vertikal oder horizontal aneinander gesetzt werden sollen.
3.) Ein Bitmap (oder ein TImage) mit der berechneten Länge und Breite anlegen
4.) alle Einzelbilder mit der Methode Draw() auf den Canvas des Ergebnisbildes kopieren
5.) Ergebnisbild speichern

ünneb 24. Feb 2009 18:51

Re: Mehrere Bilder aus einer ListBox speichern!
 
@mkinzler:
wenn ich die Bilder in einer Imagelist speicher,dann muss ich die doch schon vorher speichern? Kann ich neue Bilder,wenn ich mein Programm starte in die Imagelist einlesen?

@shmia:
Danke für die Antwort!=) Geht nur leider etwas an den vorbei, was wir brauchen. Wir wollen nicht mehrere Bilder in ein Bild zusammenfügen und speichern, sondern die Bilder die ich alle einlese, dann auch alle wieder einzeln abspeichern als mehrere Datein(JPG).

mkinzler 24. Feb 2009 18:53

Re: Mehrere Bilder aus einer ListBox speichern!
 
Zitat:

@mkinzler:
wenn ich die Bilder in einer Imagelist speicher,dann muss ich die doch schon vorher speichern? Kann ich neue Bilder,wenn ich mein Programm starte in die Imagelist einlesen?
Ja natürlich

ünneb 24. Feb 2009 18:56

Re: Mehrere Bilder aus einer ListBox speichern!
 
Nja,aber es gibt doch bestimmte Vorschriften für die Imagelist, es gibt doch eine bestimmte Pixelvorgabe und die Bilder dürfen doch nur Bitmap sein? Wir wollen ja aber JPGs einlesen.

ps: Sorry für den Doppelpost, mein Internet hackt gerade! :(


Alle Zeitangaben in WEZ +1. Es ist jetzt 11: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 by Thomas Breitkreuz