如何使用ImageMagick在写入多层PSD文件时指定图层名称
ImageMagick 多层PSD自定义图层名实现方案
ImageMagick 7.0及以上版本已支持写入多层PSD时自定义图层名称,具体操作方法如下:
- 命令行操作
用-label参数为每个待合并的图像单独设置标签,该标签会直接作为对应图层的名称。参数需紧跟在对应图像路径之后,才能正确绑定到对应图层,参考命令:# 兼容convert命令的环境 convert bg.png -label "背景层" content.png -label "内容层" popup.png -label "弹窗层" output.psd # ImageMagick 7 默认使用magick命令的环境 magick bg.png -label "背景层" content.png -label "内容层" popup.png -label "弹窗层" output.psd - 编程接口操作
各类语言的ImageMagick绑定扩展均可通过设置图像的label属性实现自定义图层名,以PHP的Imagick扩展为例:$psd = new Imagick(); // 添加背景层 $bgLayer = new Imagick('bg.png'); $bgLayer->setImageProperty('label', '背景层'); $psd->addImage($bgLayer); // 添加内容层 $contentLayer = new Imagick('content.png'); $contentLayer->setImageProperty('label', '内容层'); $psd->addImage($contentLayer); // 写入PSD文件,第二个参数true表示合并为多图像文件 $psd->writeImages('final.psd', true);
如果操作时无法识别自定义图层名,可检查当前使用的ImageMagick版本,6.x及更早版本不支持该特性,升级到7.0以上正式版即可正常使用。
内容的提问来源于stack exchange,提问作者L. Scott Johnson
相关产品推荐
相关产品推荐

