Servus!
Momentan arbeite ich an einem Projekt, bei dem immer wieder von einer Überwachungskamera aufgenommene Bilder verglichen werden müssen. Manchmal sind die Bilddateien aber fehlerhaft und ich erhalte die Meldung
Jpeg-Fehler #58
Dazu fand ich diese Information:
Function
The "JPEG Error 58" occurs because of a corrupt image file is causing incompatibility with the software. Incomplete image files or images with encoded data could cause this to happen.
Das ist aber sehr unangenehm, weil dann das Programm stehenbleibt, und dann aus über 40.000 Aufnahmen die defekte raussuchen macht wirklich keinen Spaß. Jetzt suche ich nach einer Möglichkeit entweder defekte Bilder schon vorher auf Fehlerfreiheit zu prüfen oder bei Fehlern einfach zur nächsten Aufnahme überzugehen.
So sieht mein Code momentan aus – wie könnte ich ihn dahingehend verbessern?
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| Bild1Stream:= TMemoryStream.Create; jpeg := TJPEGImage.Create; try jpeg.LoadFromFile(Jpeg1Name); bmp := TBitmap.Create; try bmp.Assign(jpeg); bmp.SaveToStream(Bild1Stream); finally bmp.Free end; finally jpeg.Free end; Bild1Stream.Position := 0; |
Gruß,
Adrian