Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Load from file (https://www.delphipraxis.net/58187-load-file.html)

f4r 2. Dez 2005 16:16


Load from file
 
Hi Leute,

was ist an dem quellcode falsch ?

Delphi-Quellcode:
procedure TSchuleForm.ListBox1Click(Sender: TObject);
begin

if Listbox1.ItemIndex=0 then
   begin
    Image1.Picture.LoadFromFile('C:\Documents and Settings\Admin\Desktop\schule\pics\schulphotos\hauptein.jpeg');
   end;

end;
jpeg in uses eingefügt !
quelle 100 % richtig !

wurde auch geprobt mit


Delphi-Quellcode:
procedure TSchuleForm.ListBox1Click(Sender: TObject);
begin

if Listbox1.ItemIndex=0 then
   begin
    Image1.Picture[b].bitmap[/b].LoadFromFile('C:\Documents and Settings\Admin\Desktop\schule\pics\schulphotos\hauptein.jpeg');
   end;

end;
kann jemand mir helfen

habe aus der jpeg datei auch scho ne bmp datei gemacht um zu prüfen obs darin liegt !
--> Resultat das gleich bild als BMP lädt er einwandrei !

hoffe das ihr mir helfen koennt sonst muss ich alle bilder unkonvertieren :D kein bock :D

gruss
f4r

[edit=Christian Seehase]Delphi-Tags eingefügt. Bitte künftig selber machen. Danke. Mfg, Christian Seehase[/edit]

ManuMF 2. Dez 2005 16:27

Re: Load from file
 
Hallo,

benutze doch bitte die [ Delphi ] - Tags.

Gruß,
ManuMF

[Edit]Sorry, hab Code-Mist geschrieben ;-)[/edit]

f4r 2. Dez 2005 16:30

Re: Load from file
 
ich versteh net was das nun ist kannst du bitte deinen code kommentieren ich bin blutiger anfängr !

gruss

ManuMF 2. Dez 2005 16:31

Re: Load from file
 
Sorry, war Unsinn. Ich poste gleich richtigen Code.

Gruß,
ManuMF

ManuMF 2. Dez 2005 16:41

Re: Load from file
 
So, jetzt hab ichs:

Delphi-Quellcode:
uses JPEG;

procedure JpegToBMP(JpegFileName: string; const OutBitmap : TBitmap);
  var JPG: TJPEGImage;
begin
  JPG := TJPEGImage.Create;
  try
    JPG.LoadFromFile(JpegFileName);
    OutBitmap.Assign(JPG);
  finally
    JPG.free;
  end;
end;

// Aufruf:
JpegToBMP('Dateiname', Image1.Picture.Bitmap);
Gruß
ManuMF

f4r 2. Dez 2005 16:44

Re: Load from file
 
kannst du mir bitte trotzdem erklären was du da genau machst ?
und wie krich das dann in die eigentliche onclick procedure der listbox ?

gruss

ManuMF 2. Dez 2005 16:47

Re: Load from file
 
Ein TImage kann kein JPEG laden. Also muss ein JPEG vorher in ein Bitmap umgewandelt werden. Das macht meine Prozedur. Statt
Delphi-Quellcode:
Image1.Picture.LoadFromFile
schreibst du, wie ich oben schon bei "Aufruf" geschrieben habe,
Delphi-Quellcode:
JpegToBMP('Der Name der JPG-Datei, die geladen werden soll', Image1.Picture.Bitmap);
Gruß,
ManuMF

Khabarakh 2. Dez 2005 17:03

Re: Load from file
 
Zitat:

Zitat von ManuMF
Ein TImage kann kein JPEG laden.

Seit wann das? TJPEGImage trägt sich in die Graphics.FileFormats-Liste ein, also lässt sich ein JPEG durch
Delphi-Quellcode:
TImage.Picture.LoadFromFile('moep.jpg');
laden, wenn die Unit JPEG eingebunden ist.

Vielleicht sollte uns f4r erst einmal verraten, was für ein Fehler überhaupt erzeugt wurde :stupid: .

f4r 2. Dez 2005 17:06

Re: Load from file
 
Delphi-Quellcode:
procedure JpegToBMP(JpegFileName: string; const OutBitmap : TBitmap);
  var JPG: TJPEGImage;
begin
  JPG := TJPEGImage.Create;
  try
    JPG.LoadFromFile(JpegFileName);
    OutBitmap.Assign(JPG);
  finally
    JPG.free;
  end;
end;
mit dem teil wird dann geprüft ob die datei sich am ort befindet oder wie ?

Delphi-Quellcode:

JpegToBMP('Der Name der JPG-Datei, die geladen werden soll', Image1.Picture.Bitmap);
hier mit wird dann das kpeg umgewandelt und als bmp ins image ? ? ?

wie krich ich das ganze jetzt in mein listbox procedure

gruss

f4r 2. Dez 2005 17:11

Re: Load from file
 
@
Khabarakh

wenn du den thread von anfang richtig gelsesn haettest wüsstest das ich genau das ausprobiert habe ! ;)
ich meine zwar es scho geschafft zu haben ne jpeg datei zu laden aber wenns so geht solls mir recht sein ! ! !

er sagt das kein die datei an diesem ort nicht finden kann ! ABER SIE IST DA UND DIE SOURCE 100 % richtig ! ! !

naja ich wart jetzt mal ab wie man das in die klick procedure einfügt und hoffs das es funkz. :D

gruss

Martin K 2. Dez 2005 17:20

Re: Load from file
 
Also dass kann eigentlich nicht sein.
Ich habe schon jede Menge JPEG-Bilder mit:
Delphi-Quellcode:
Image1.Picture.LoadFromFile('...');
geladen, dass geht einwandfrei (wenn Jpeg in uses).

@f4r:
Bist du Dir wirklich sicher, dass Du genau diesen Code mit einem Bitmap getestet hast und dass das geht?

Dann fällt mir nur noch eins ein:
Vielleicht ist die Dateiendung *.jpg und nicht *.jpeg !!!

Probier das doch mal aus:
Delphi-Quellcode:
Image1.Picture.LoadFromFile('C:\Documents and Settings\Admin\Desktop\schule\pics\schulphotos\hauptein.jpg');

f4r 2. Dez 2005 17:29

Re: Load from file
 
Liste der Anhänge anzeigen (Anzahl: 1)
hi mit ner bmp datei klappt das alles wunderbar hab ich auch obn geschrieben hab aber nur jpegs :(

ob jpg JPG jpeg JPEG hab ich alles scho probiert
um jetzt nochmal eindeutig zu zeigen das die datei wirklici in der quelle ist hab ich die datei in genau den selber ordner gepackt wie die exe folgendes zeigt er an:

Martin K 2. Dez 2005 17:35

Re: Load from file
 
Sag mal, kann es vielleicht sein, dass das irgend so eine "Special-Jpeg-Datei" ist ?
Also irgendsowas selbst gebasteltes, was eigentlich gar kein Jpeg-Bild ist, sondern nur die Endung hat?
Versuch's doch mal mit einem "ganz normalen" Jpeg (z.B. mit Paint, Speichern unter..., JPEG).

Geht das :?:

:arrow: Wenn nicht, kann ich Dir auch nicht weiterhelfen (keine Ahnung, woran das liegt).

Vielleicht kannst Du ja mal dein Programm rüber posten.... (evtl. find ich dann den Fehler..)

Martin K 2. Dez 2005 17:38

Re: Load from file
 
Weißt du, was mir grad auffällt?
Auf deinem Screenshot steht "Nadmin" im Dateipfad, vorher stand da "Admin" :?: :?: :?:

f4r 2. Dez 2005 17:41

Re: Load from file
 
Zitat:

Zitat von Martin K
Sag mal, kann es vielleicht sein, dass das irgend so eine "Special-Jpeg-Datei" ist ?
Also irgendsowas selbst gebasteltes, was eigentlich gar kein Jpeg-Bild ist, sondern nur die Endung hat?
Versuch's doch mal mit einem "ganz normalen" Jpeg (z.B. mit Paint, Speichern unter..., JPEG).

Geht das :?:

:arrow: Wenn nicht, kann ich Dir auch nicht weiterhelfen (keine Ahnung, woran das liegt).

Vielleicht kannst Du ja mal dein Programm rüber posten.... (evtl. find ich dann den Fehler..)

hey danke man kann in der tat kann man die datei mit paint oeffnen und als jpeg neu speichern lol ich hab jetzt 2 jepgs mit gleichen namen die windows auch beide als jpeg datein erkennt
naja nu koennt ich sie uch in bitmaps umwandeln das is jacke wie hose :(

aber die pics komm von ner digicam :gruebel:
naja danke prob gelöst :thumb:

ihr seit die besten

f4r 2. Dez 2005 17:43

Re: Load from file
 
Zitat:

Zitat von Martin K
Weißt du, was mir grad auffällt?
Auf deinem Screenshot steht "Nadmin" im Dateipfad, vorher stand da "Admin" :?: :?: :?:

schau noch ma richtig was da steht :D

ich hab nur den namen in admin umgewandelt :D

gruss
nadim

turboPASCAL 2. Dez 2005 17:45

Re: Load from file
 
Wenn das Bild von diener D-Cam kommt prüfe mal die Einstellungen, nicht das das Format Jpeg2000 ist.

Martin K 2. Dez 2005 17:47

Re: Load from file
 
Zitat:

Zitat von f4r
ich hab jetzt 2 jepgs mit gleichen namen die windows auch beide als jpeg datein erkennt

Also dann hat eines von beiden Definitiv eine andere Dateiendung:
Vielleicht hat es die Endung *.jpe oder *.jfif (Das gibt's auch bei Jpeg-Bildern) !

Guck doch mal nach, was deine Bilder von der Digicam für eine Endung haben:
Im Windows Explorer auf Extras -> Ordneroptionen... -> Ansicht -> kein Häkchen bei "Erweiterungen bei bekannten Dateitypen ausblenden"

f4r 2. Dez 2005 17:53

Re: Load from file
 
hat die endung jpe
das ist ja gemein :D

wie soll man denn darauf bitte kommen

*sauern bin* auf jpeg erfinder :-D

danke nochmal an alle !!!!

ManuMF 2. Dez 2005 17:58

Re: Load from file
 
Zitat:

Zitat von f4r
Delphi-Quellcode:
procedure JpegToBMP(JpegFileName: string; const OutBitmap : TBitmap);
  var JPG: TJPEGImage;
begin
  JPG := TJPEGImage.Create;
  try
    JPG.LoadFromFile(JpegFileName);
    OutBitmap.Assign(JPG);
  finally
    JPG.free;
  end;
end;
mit dem teil wird dann geprüft ob die datei sich am ort befindet oder wie ?

Delphi-Quellcode:

JpegToBMP('Der Name der JPG-Datei, die geladen werden soll', Image1.Picture.Bitmap);
hier mit wird dann das kpeg umgewandelt und als bmp ins image ? ? ?

wie krich ich das ganze jetzt in mein listbox procedure

gruss

Wie wär's mal mit durchlesen? ;-)
Auch wenn es jetzt so geklappt hat - ich habe für meine Lösung genau beschrieben, was du hättest machen müssen:

Zitat:

Zitat von ManuMF
Also muss ein JPEG vorher in ein Bitmap umgewandelt werden. Das macht meine Prozedur. Statt
Delphi-Quellcode:
Image1.Picture.LoadFromFile
schreibst du, wie ich oben schon bei "Aufruf" geschrieben habe,
Delphi-Quellcode:
JpegToBMP('Der Name der JPG-Datei, die geladen werden soll', Image1.Picture.Bitmap);
Gruß,
ManuMF

also

Delphi-Quellcode:
procedure TSchuleForm.ListBox1Click(Sender: TObject);
begin

if Listbox1.ItemIndex=0 then
   begin
    // ALTER AUFRUF:
    // Image1.Picture.LoadFromFile('C:\Documents and Settings\Admin\Desktop\schule\pics\schulphotos\hauptein.jpeg');
    // NEUER AUFRUF:
    JpegToBMP('C:\Documents and Settings\Admin\Desktop\schule\pics\schulphotos\hauptein.jpeg', Image1.Picture.Bitmap);
   end;

end;
War das denn so schwer?

Gruß,
ManuMF

Martin K 2. Dez 2005 18:01

Re: Load from file
 
Also als endgültige Lösung müsste dann das gehen:
(Das Bild von der Digicam laden, nicht das von Paint gespeicherte!)

Delphi-Quellcode:
procedure TSchuleForm.ListBox1Click(Sender: TObject);
begin

if Listbox1.ItemIndex=0 then
   begin
    Image1.Picture.LoadFromFile('C:\Documents and Settings\Admin\Desktop\schule\pics\schulphotos\hauptein.jpe');
   end;

end;
Geht's ?

f4r 2. Dez 2005 18:04

Re: Load from file
 
Zitat:

Zitat von Martin K
Also als endgültige Lösung müsste dann das gehen:
(Das Bild von der Digicam laden, nicht das von Paint gespeicherte!)

Delphi-Quellcode:
procedure TSchuleForm.ListBox1Click(Sender: TObject);
begin

if Listbox1.ItemIndex=0 then
   begin
    Image1.Picture.LoadFromFile('C:\Documents and Settings\Admin\Desktop\schule\pics\schulphotos\hauptein.jpe');
   end;

end;
Geht's ?

ja danke es geht alles wunderbar danke euch alle

btw.: warum nicht die bilder von paint nehemen ?

Martin K 2. Dez 2005 18:10

Re: Load from file
 
Naja, also Paint ist ja nun wirklich absolut nicht das Profi-Programm.
Wenn dein Bild groß genug ist, ist es nicht so schlimm mit Paint...
Aber bei kleineren jpeg-Bildern finde ich die Qualität (Komprimierung) bei Paint miserabel.

Aber natürlich kannst du machen, was du willst!

P.S.: Wer bearbeitet denn seine Digicam-Bilder heute noch mit Paint???


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