有许多图像
任务是:将每个图像的大小调整为2000px,它应小于500kb
当前脚本(.jsx)调整图像大小(app.activeDocument.resizeImage),但一些调整大小的图像大500kb(除了web:质量81)。
所以想法是循环:检查当前图像的大小,如果大小> 500,将质量降低到80,检查大小等等......
一些代码行是:
cTID = function(s) { return app.charIDToTypeID(s); };
sTID = function(s) { return app.stringIDToTypeID(s); };
...
var desc1 = new ActionDescriptor(); var desc2 = new ActionDescriptor();
...
desc2.putEnumerated(cTID('Fmt '), cTID('IRFm'), sTID("JPEGFormat"));
...
desc2.putInteger(cTID('Qlty'), 81);
...
desc2.putPath(cTID('In '), new File("/c/folder"));
desc1.putObject(cTID('Usng'), sTID("SaveForWeb"), desc2);
executeAction(cTID('Expr'), desc1, dialogMode);
答案 0 :(得分:0)
我相信你能做到这一点的唯一方法是直接从HTTP头获取Content-Length值。据我所知,JS无法访问文件的属性(大小除外)。在这里回答得更彻底: