Python3-以编程方式更改PSD层的可见性



是否可以在不使用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" )

最新更新