不知道大家有没有遇到过,网上下的 PSD 素材自己一顿改。
操作完保存成 PNG 或 JPG 的时候明明图片只有几百像素,导出来却十几兆,有的夸张的可以达到几百兆。
其实网上的素材也经过了很多道加工,可能一个 PSD 里有几十几百个别人的素材拼凑。
这里面的每个图层文件都有自己的 data 信息,导致图片过大的原因就是这些素材的冗余文件太多。
如果你遇到明明就 100px 的图片,导出来却几十兆大小,用下面的代码即可搞定:
function deleteDocumentAncestorsMetadata() {
whatApp = String(app.name);
if(whatApp.search("Photoshop") > 0) {
if(!documents.length) {
alert("没有打开的文档,请打开一个文件以运行此脚本。")
return;
}
if (ExternalObject.AdobeXMPScript == undefined) ExternalObject.AdobeXMPScript = new ExternalObject("lib:AdobeXMPScript");
var xmp = new XMPMeta( activeDocument.xmpMetadata.rawData);
xmp.deleteProperty(XMPConst.NS_PHOTOSHOP, "DocumentAncestors");
app.activeDocument.xmpMetadata.rawData = xmp.serialize();
}
}
deleteDocumentAncestorsMetadata();
新建一个文本文档,然后复制上述代码,保存后修改.txt 后缀为.jsx。
- 使用方法:在导出图片前,点击-文件-脚本-浏览,选中刚刚保存的 jsx 文件即可。
下次遇到这样的情况,你也可以试试。
亲测目前最新版 Photoshop 也可以使用。