Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi JPEG-Fehler #53 beim laden eigener Images (https://www.delphipraxis.net/86240-jpeg-fehler-53-beim-laden-eigener-images.html)

Flippo 11. Feb 2007 14:30


JPEG-Fehler #53 beim laden eigener Images
 
Hallo,
ich habe folgendes Problem:
Ich male ein Bild in einem TImage und speichere es ganz normal:
Delphi-Quellcode:
image1.Picture.SaveToFile(Dateiname.jpg);
Nun will ich alle Bilder aus einem Ordner nacheinander laden und formatieren:
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
begin
V:=extractfilepath(paramstr(0));
if not Directoryexists(pchar(V+'\Formatiert')) then createdirectory(pchar(V+'\Formatiert'),0);
if FindFirst(V+'*.jpg', faAnyFile, SR)=0 then
begin
   Formatieren(SR.Name);
end;
while Findnext(SR)=0 do
begin
   Formatieren(SR.Name);
end;
Delphi-Quellcode:
procedure Tform1.formatieren(S:string);
var
  jpg: TJPEGImage;
  bmp: TBitmap;
begin
jpg := TJPEGImage.Create;
bmp := TBitmap.Create;
jpg.LoadFromFile(V+S);
bmp.Width := strtoint(panel1.caption);
bmp.Height := bmp.Width;
bmp.Canvas.StretchDraw(Rect(0, 0, bmp.Width, bmp.Height), jpg);
jpg.Assign(bmp);
bmp.Free;
jpg.SaveToFile(V+'\Formatiert\'+S);
jpg.Free;  
end;
Ich bekomme jedoch beim Laden des Bildes immer die Meldung: JPEG-Fehler #53 (und das Bild wird auch nicht geladen)

Ich habe bisher nichts gefunden was mir weiterhilft und ich bin auch absolut ratlos. Ich habe auch schon probiert die Bilder in das TImage zu laden mit der ich sie erzeugt und gespeichert habe, da bekomme ich aber die selbe Meldung.
Warum kann ich ein Bild, das ich mit einer Delphi-Komponente abgespeichert habe nicht mit der selben Komponente wieder laden?
Alle anderen Programme (Paint, Explorer, Firefox, Vorschau im Ordner) können die Bilder absolut Problemlos anzeigen und bearbeiten.

MfG

Flippo

TurboMartin 11. Feb 2007 14:52

Re: JPEG-Fehler #53 beim laden eigener Images
 
Das Problem liegt beim TImage. :?
Es kann nämlich keine JPGs anzeigen. Deswegen brauchst du eine andere Komponente.
Am besten guckst du hier!

Die Muhkuh 11. Feb 2007 15:06

Re: JPEG-Fehler #53 beim laden eigener Images
 
Zitat:

Zitat von TurboMartin
Das Problem liegt beim TImage. :?
Es kann nämlich keine JPGs anzeigen. Deswegen brauchst du eine andere Komponente.
Am besten guckst du hier!

Wirf bitte keine Gerüchte in den Raum

@ Threadersteller:

Binde die Unit jpeg ein und schwupps, kann dein TImage auch JPEGs darstellen.

Flippo 11. Feb 2007 15:23

Re: JPEG-Fehler #53 beim laden eigener Images
 
Sorry das hatte ich vergessen zu erwähnen. Aber jpeg ist bereits eingebunden und ich kann auch andere jpg-Bilder damit anzeigen und bearbeiten, nur die selber abgespeicherten nicht. Warum auch immer.

DGL-luke 11. Feb 2007 15:24

Re: JPEG-Fehler #53 beim laden eigener Images
 
LOL?

Unit "Jpeg" eingebunden, alternativ Bei Google suchenGraphicEx Delphi, und ab gehts von wegen Jpegs. (Die VCL hat übrigens irgendwie ne etwas altertümliche Einstellung zu Jpegs, einige kann man nur z.B. über die WinAPI laden)
Ich glaube genau das ist auch dein Problem, Flippo.

@TurbMartin: Wenn der JPEG-Fehler kommt, heißt das, dass die JPEGs schon verarbeitet werden ;-)
@Muhkuh: Auch du bist drauf reingefallen :)

Flippo 11. Feb 2007 16:05

Re: JPEG-Fehler #53 beim laden eigener Images
 
Hi,
das bringt mich auch irgendwie nicht weiter(evtl. wegen Unwissenheit). Ich hab mir das runtergeladen und Hinzugefügt(kann die Unit GraphicEx Problemlos einbinden). Aber ich weiß nicht wie ichs dann weiter verwende.

Außerdem habe ich mal eins meiner Bilder mit dem Beispielprogramm von der GraphicEx geladen und den selben Fehler #53 bekommen...und ich finde jpg auch nicht in der Liste der unterstüzten Formate von GraphicEx, bist du sicher das es damit dann klappt?

Flippo

DGL-luke 11. Feb 2007 16:24

Re: JPEG-Fehler #53 beim laden eigener Images
 
GraphicEx integriert sich in die TGraphic-Format-Schnittstelle, das heißt, du kannst dann damit anstatt mit JPEG deine jpegs laden. (man soltle dann die unit jpeg auch rausschmeißen aus den uses)

Eine Forensuche ergibt, dass der JPEG-Fehler #53 nichts anderes sagt als "irgendwas stimmt nicht".

KÖnnte es vielleicht sein, dass du deine JPEGs in wirklichkeit gar nicht als jpeg sondern als bitmap speicherst?

(http://www.delphipraxis.net/internal...ct.php?t=62633)

Flippo 11. Feb 2007 16:49

Re: JPEG-Fehler #53 beim laden eigener Images
 
Ups, Danke das wars :oops:

DGL-luke 11. Feb 2007 16:57

Re: JPEG-Fehler #53 beim laden eigener Images
 
bittesehr, schön geholfen zu haben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz