前提・実現したいこと
Python PIL(Pillow)でpsdファイルを読み込んで表示されるだけのとても簡単なコードなのですが
psdファイルにアルファチャンネルがある時とない時とで結果が変わってしまいます。
各チャンネルの位置が微妙にズレて表示されます。
なぜこのような現象が起こるのでしょうか
また、ずらさずに表示させる方法はあるのでしょうか?
該当のソースコード
Python
1from PIL import Image 2 3# 開く 4psd = Image.open("./test.psd") 5 6psd.show()
画像
## 追記
ご回答いただきありがとうございます。
元画像はPhotoshop上では背景は塗りつぶされており、チャンネルとしてRGBの他にアルファチャンネルを1つ持っている状態です。
回答で頂いたサンプルのpsdデータをこちらも落としてみましたが、それは背景が透明でした。
(元データpsd構造)
psd-toolsを使用すれば確かにチャンネルのずれは起こらないのですが
背景が透明ではない場合だとアルファチャンネルが無くなってしまいます。
背景色が透明であれば保存し直した時もアルファチャンネルを保持したままであることが判明しました。
(背景を黒で塗りつぶし、tgaに保存し直した画像)
(背景を透明にし、tgaに保存し直した画像)
扱っているデータは基本的に背景を透過させていないので
なんとか背景色を塗りつぶしたまま、アルファチャンネルを保持して保存し直せないものでしょうか・・・
回答2件
あなたの回答
tips
プレビュー