是否可以通过JavaScript (JSX脚本)在Photoshop中检查图像的大小(字节而不是像素)

Is it possible to check size of image (bytes not pixels) by JavaScript (JSX script) in Photoshop?

本文关键字:字节 像素 图像 JSX JavaScript 可以通过 脚本 是否 Photoshop 检查      更新时间:2023-09-26

图片数量
任务是:调整每个图像的大小为2000px,并且应该小于500kb。
当前的脚本(.jsx)调整图像大小(app.activeDocument.resizeImage),但一些调整图像大小大于500kb(保存为web: for quality 81)。
所以这个想法是循环:检查当前图像的大小,如果size>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);
  1. 浏览器中的JavaScript无法访问用户驱动器。那么Photoshop中的jsx呢,看起来是一样的吗?
  2. 是否有任何方法来检查jpeg图像的大小,将通过cTID保存(当前质量)?

我认为您可以做到这一点的唯一方法是直接从HTTP头获取Content-Length值。据我所知,JS无法访问文件的属性(除了大小)。在这里回答得更彻底:

通过Javascript确定图像文件大小+尺寸?