Collectives™ on Stack Overflow
Find centralized, trusted content and collaborate around the technologies you use most.
Learn more about Collectives
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Learn more about Teams
This usually comes when the Jpeg image is downloaded from Internet and the download is not 100% complete. It can happen even with TImage.
Unfortunately Jpeg do not have a checksum to check against.
The only think you can do is whenever this error is thrown to catch it and display more responsive message like "The image is corrupted.".
Since this raises the error:
procedure JpegError(cinfo: j_common_ptr); {$IFDEF LINUX} cdecl; export; {$ENDIF}
begin
raise EJPEG.CreateFmt(sJPEGError,[cinfo^.err^.msg_code]);
where
sJPEGError = 'JPEG error #%d';
you can try to catch EJPEG error and check for #53 within the message.
Since EJPEG inherits from EInvalidGraphic you can simply catch it with
catch
on E: EInvalidGraphic do
begin
ShowMessage('Image file is corrupted.')
–
Does it occur to a single jpeg image or with all jpegs you try?
JPEG error #53 error will come due to Insufficient memory.
If file is corrupted, this error may occur.
So opening this image in paint or photoshop and re-saving it in jpeg can solve the problem.
I also had the #53 error.
It turned out that the error only occurred after I had erroneously saved a bitmap with the *.jpg extension.
The obvious solution was to turn that bitmap into a jpeg and save it then :-).
Please try following to solve 'JPEG error #53' if its occur at this statement TImage.Picture.LoadFromFile('File.jpg')
TImage.Picture.Bitmap.LoadFromFile('File.jpg');
Note that File File.jpg should be exist at provided location.
–
–
–
–
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.