我正在尝试使用psd_tools2将psd文件转换为jpg。当我运行命令“ psd.compose()。save(pngFilePath)”时,出现“ ValueError:错误的波段数”,但似乎无法弄清楚该如何解决。
这似乎仅在其中具有alpha通道的psd文件中发生。我认为将文件另存为Alpha支持的格式(如.png),然后使用PIL将png转换为jpg将可以解决具有alpha通道的psd的问题。
这是我正在运行的代码:
from psd_tools2 import PSDImage
from PIL import Image
import os
filePath = r"C:\psd_with_alpha_channel.psd"
#generate the jpg image path / png image path
jpgFilePath = filePath.replace('.psd','.jpg')
pngFilePath = filePath.replace('.psd','.png')
#open the psd file in psdImage
psd = PSDImage.open(filePath)
#check to see if the file has more then 3 channels (RGBA)
if psd.channels > 3:
#merge the layers in the psd and save it out as a png file
psd.compose().save(pngFilePath)
#convert png to jpg
im = Image.open(pngFilePath)
rgb_im = im.convert('RGB')
rgb_im.save(jpgFilePath, "JPEG")
#remove the png file
os.remove(pngFilePath)