我正在用JavaScript为Photoshop编写一些自动化脚本。我希望能够控制脚本中的缩放级别,最好读取当前值,将其设置为100%,然后在脚本完成时重置原始值。最好的方法是什么?

到目前为止,我发现的唯一方法是调用“实际像素”菜单命令。但是,这不允许我读取当前值,也不允许设置不是100%的特定缩放级别。

最佳答案

我认为您可以使用此:

cTID = function(s) { return app.charIDToTypeID(s); };
sTID = function(s) { return app.stringIDToTypeID(s); };

doMenuItem = function(item, interactive) {
   var ref = new ActionReference();
   ref.putEnumerated(cTID("Mn  "), cTID("MnIt"), item);

   var desc = new ActionDescriptor();
   desc.putReference(cTID("null"), ref);

   try {
     var mode = (interactive != true ? DialogModes.NO : DialogModes.ALL);
     executeAction(sTID("select"), desc, mode);
   } catch (e) {
     if (!e.message.match("User cancelled")) {
       throw e;
     } else {
       return false;
     }
   }
   return true;
}

doMenuItem(cTID('ActP')); // Set Zoom to 100%
doMenuItem(cTID('ZmIn')); // Zoom in on time more. (200 %)

我找到了使用示例here,尽管示例是pdf,所以我不确定这是否重要。

09-12 19:13