photoshopCC保存png体积异常巨大bug修复方法
由于前段和设计用的ps版本不一样(有些用cs6有些用cc)导致ps-cs6打开ps-cc做的psd会出现“不能将副本存储为因为程序错误”或者“内存占用高”等bug。所以越来越多的前端也开始用ps-cc了,但是ps-cc一直有个很恶心的bug,就是保存的png图片大到离谱,比如10多k的小icon,用ps-cc保存就变成了几十M。那有什么办法解决这个bug呢?现在收集到解决bug的办法有3个:
1.存储为web格式
2.把下面代码存储到txt改成jsx后缀,然后Photoshop中 文件→脚本→浏览 来调用(每次保存图片都必须要重新浏览一遍脚本 如果有开启ps自动导入脚本 或者脚本记录功能这个办法比第一个好)
function deleteDocumentAncestorsMetadata() {
whatApp = String(app.name);//String version of the app name
if(whatApp.search("Photoshop") > 0) { //Check for photoshop specifically, or this will cause errors
//Function Scrubs Document Ancestors from Files
if(!documents.length) {
alert("There are no open documents. Please open a file to run this script.")
return;
}
if (ExternalObject.AdobeXMPScript == undefined) ExternalObject.AdobeXMPScript = new ExternalObject("lib:AdobeXMPScript");
var xmp = new XMPMeta( activeDocument.xmpMetadata.rawData);
// Begone foul Document Ancestors!
xmp.deleteProperty(XMPConst.NS_PHOTOSHOP, "DocumentAncestors");
app.activeDocument.xmpMetadata.rawData = xmp.serialize();
}
}
//Now run the function to remove the document ancestors
deleteDocumentAncestorsMetadata();
3.右键复制图层,再重新粘贴像素再保存。
个人比较推荐第一种,因为最方便。
那么造成这个bug的原因是什么?原因是粘贴的时候ps-cc保存了许多不需要的冗余数据,上面这几个方法也就是为了去除这些冗余数据的。
匿名
大佬 问一个不是你这篇文章的题外话,我之前做好的createJS项目,如果直接替换成stageGL 然后改成createjs.Ticker.framerate = 60,画布上面元素的位置会移动,这是为什么呢
匿名
@匿名 原因有很多 估计是自适应出的问题
ajex
@匿名 上面那个评论是本人发的 忘记登录了