Added support for RGBA PSD images

This commit is contained in:
Andrew Murray 2022-08-05 23:29:58 +10:00
parent 1b5abea043
commit e77a7b6b4f
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)