Autor Beitrag
BlackRaven
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Fr 26.11.04 20:04 
ausblenden 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:
25:
26:
procedure TForm1.imagecreatandload;
var
  SingleImageFileName: String;
  jpg: TjpegImage;
  bmp: TBitmap;
begin
//Bild machen
SingleImageFileName:= ExtractFilePath(ParamStr(0)) + '\' + filename + '.bmp';
CapSetSingleImageFileName( SingleImageFileName );
CapGrabSingleFrame;
//in jpg konvertieren
jpg:= TJpegImage.Create;
  try
    jpg.LoadFromFile(SingleImageFileName);
    bmp:= TBitmap.Create;
    bmp.Assign(jpg);
    //Das Bild anzeigen
    image2.Picture.LoadFromFile(jpg.GetNamePath);
    //Das bild hochladen
    ShowMessage(jpg.GetNamePath);
    //ftp.Put(jpg,ExtractFileName(jpg));
  finally
    jpg.Free;
    bmp.Free;
  end;
end;


Ich bekomme bei dem Source eine Exception der Klasse EJPEG mit der Meldung:
JPEG-Fehler #53

Wenn ich mit jpeg nichts mache, es bei bmp lasse klappt alles einwandfrei.

Die Unit JPEG hab ich eingebunden.

Ich brauche dringend hilfe
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Sa 27.11.04 13:17 
Kommt der Fehler immer, oder nur bei einigen Bildern? Ich hab auch mal mit JPEGs was gemacht, und bei einigen Bildern kamen dann Fehler. 53 war glaub ich auch mal darunter, aber in der Regel hat es geklappt.
Meine Vermutung ist, dass die Unit JPEG nicht ganz 100% arbeitet, oder aber nicht besonders tolerant gegenüber Dateifehlern ist...

_________________
We are, we were and will not be.
BlackRaven Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Sa 27.11.04 20:10 
Der Fehler kommt bei jedem bild vor. Die WebCam macht ein Foto aus dem laufendem Steam speichert es auf der festplatte und soll dann als jpg konvertiert werden, damit es zeitersparnisse beim upload auf dem server gibt.

Wie gesagt es klappt alles inclusiv upload aber sobald ich mit jpg arbeite, kommt dieser fehler
luis
Hält's aus hier
Beiträge: 4

Win [all], Linux
Delphi, VS, VIM
BeitragVerfasst: Do 02.12.04 01:00 
Hm, ich hatte das auch mal - es geht glaub ich um die interne Allozierung (Delphi vermeidet Speicher anzufordern wenn immer es nur möglich ist). Un #53 glaub ich ist "unbekanntes Format"

Wenn ich dich richtig verstehe soll SingleImageFile von bmp nach jpg konvertiert werden, also mein Vorschlag:
ausblenden volle Höhe 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:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
procedure TForm1.imagecreatandload;
var
  SingleImageFileName: String;
  jpg: TjpegImage;
  bmp: TBitmap;
begin
//Bild machen
SingleImageFileName:= ExtractFilePath(ParamStr(0)) + '\' + filename;
CapSetSingleImageFileName( SingleImageFileName + '.bmp' );
CapGrabSingleFrame;

//in jpg konvertieren
jpg:= TJpegImage.Create;
  try

    // BITMAP erzeugen und laden
    bmp := TBitmap.Create;
    bmp.LoadFromFile( SingleImageFileName + '.bmp' );

    // KOPIE in JPG-Objekt umwandeln
    jpg.Assign(bmp);
    jpg.SaveToFile( SingleImageFileName + '.jpg' );
   
    //Das Bild anzeigen
    image2.Picture.LoadFromFile({jpg.GetNamePath} SingleImageFileName + '.jpg');
    //Das bild hochladen

    // was jetzt man GetNamePath ist... naja, i benutze SingleImageFileName + '.jpg' ...
    ShowMessage( ... );
    //ftp.Put( ... );
  finally
    jpg.Free;
    bmp.Free;
  end;
end;


Hm, müsste eigentlich funktionieren...
cux
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 51



BeitragVerfasst: Mo 13.12.04 16:52 
Titel: Re: JEPG_Fehler
hab ein bildbearbeitungsprogramm geschrieben und hab genau den gleichen Fehler!
Der Fehler taucht immer dann auch wenn man ein jpeg-bild in ein bmp-Bild kopiert!
andersrum geht das.
also, wenn irgendwer ahnung hat, schnell schreiben...

mfg cux