Skip to content

Commit

Permalink
Merge pull request #6481 from radarhere/psd_rgba
Browse files Browse the repository at this point in the history
Added support for RGBA PSD images
  • Loading branch information
hugovk committed Aug 7, 2022
2 parents 3b0f046 + e77a7b6 commit 38e411d
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 1 deletion.
Binary file added Tests/images/rgba.psd
Binary file not shown.
7 changes: 6 additions & 1 deletion Tests/test_file_psd.py
Expand Up @@ -4,7 +4,7 @@

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"

Expand Down Expand Up @@ -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
Expand Down
3 changes: 3 additions & 0 deletions src/PIL/PsdImagePlugin.py
Expand Up @@ -75,6 +75,9 @@ def _open(self):

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)
Expand Down

0 comments on commit 38e411d

Please sign in to comment.