-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Empty JPEG2000 image after upgrading from 10.2.0 to 10.3.0 #7945
Comments
Investigating, the change didn't occur in Pillow's code itself, but rather as a result of upgrading from OpenJPEG 2.5.0 to 2.5.2. |
I've created #7947 to resolve this. With that change, from PIL import Image, ImageFile
from io import BytesIO
ImageFile.LOAD_TRUNCATED_IMAGES = True
with open("raw.txt", mode="rb") as fd:
data = fd.read()
image = Image.open(BytesIO(data), formats=("JPEG2000",))
image.save(f"{Image.__version__}.jpg") This isn't the same as 10.2.0, but I think you will agree it is correct when compared to the original image data. |
@radarhere |
When I look at it in macOS Preview, or use ImageMagick to convert it to PNG (albeit with the colours changing), I'm not seeing any evidence that the image from this issue has transparency. But regarding the general question of transparency in CMYK JPEG2000 images, no, that is not currently supported. |
Thanks for the PR. I have just built a corresponding wheel for your branch and tested it with the original downstream setup and it looks fine. @pubpub-zz The transparency aspects for Pillow do indeed change a bit, but due to applying the transparency mask in pypdf afterwards, the resulting image is visually identical. |
What did you do?
I want to load a JPEG2000 image from raw data into Pillow for further processing. After upgrading from 10.2.0 to 10.3.0, this broke for a specific image.
What did you expect to happen?
The image is being loaded as before.
What actually happened?
The image is not being loaded correctly and just empty.
What are your OS, Python and Pillow versions?
Corresponding raw data: raw.txt
With version 10.2.0:
With version 10.3.0:
Corresponding issue where this was discovered: py-pdf/pypdf#2568
The text was updated successfully, but these errors were encountered: