Merge pull request #6481 from radarhere/psd_rgba

Added support for RGBA PSD images
This commit is contained in:
Hugo van Kemenade 2022-08-07 19:09:26 +03:00 committed by GitHub
commit 38e411de42
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 1 deletions

BIN
Tests/images/rgba.psd Normal file

Binary file not shown.

View File

@ -4,7 +4,7 @@ import pytest
from PIL import Image, PsdImagePlugin
from .helper import assert_image_similar, hopper, is_pypy
from .helper import assert_image_equal_tofile, assert_image_similar, hopper, is_pypy
test_file = "Tests/images/hopper.psd"
@ -107,6 +107,11 @@ def test_open_after_exclusive_load():
im.load()
def test_rgba():
with Image.open("Tests/images/rgba.psd") as im:
assert_image_equal_tofile(im, "Tests/images/imagedraw_square.png")
def test_icc_profile():
with Image.open(test_file) as im:
assert "icc_profile" in im.info

View File

@ -75,6 +75,9 @@ class PsdImageFile(ImageFile.ImageFile):
if channels > psd_channels:
raise OSError("not enough channels")
if mode == "RGB" and psd_channels == 4:
mode = "RGBA"
channels = 4
self.mode = mode
self._size = i32(s, 18), i32(s, 14)