是否可以在不使用Photoshop的情况下以编程方式更改PSD中的PSD层可见性?
我确实检查了Python的PSD库的各种实现,但它们做得最好的是返回可见性值(如psd_tools
(;但是可见属性是只读的,所以我不能更改它。
我希望有一种方法可以直接从Python中提取和操作PSD文件中的组和层;但我能做的最好的事情是使用psd_tools来检索层并将它们堆叠在一起;将其导出为PNG后;尽管这不是理想的
如果有人想知道。。。实际上,您可以使用psd-tools
打开图层的可见性。如果你用PSD工具保存PSD,当用Photoshop打开时,它会正确显示。但是,如果您将其保存到PNG,它将不会显示您的更改,除非您在调用.compose()
函数时将参数force
设置为True
。我花了一些时间才意识到这一点。
示例:
from psd_tools import PSDImage
psd = PSDImage.open( filename )
psd[0].visible = False # Set first layer to invisible
image = psd.compose( force=True ) # Very important to set force param!
image.save( "output.png" )