无法按比例 100% 进行转换:错误 8007

Unable to transform with scale 100%: Error 8007

我的问题有两个: 首先,这是 Photoshop 中的错误吗?如果像这样缩放图层并提供 100% 的值

var srcDoc = app.activeDocument;
var numOfLayers = srcDoc.layers.length;

// main loop
for (var i = numOfLayers -1; i >= 0  ; i--)
{
  var thisLayer = srcDoc.layers[i];

   //select that layer as you go along
   srcDoc.activeLayer = srcDoc.artLayers[i];
}

显示错误: 错误 8007:用户取消了操作

不过 100.000001 的比例值很好。

第二个,更重要的部分,即使关闭了 displayDialogs

 displayDialogs = DialogModes.NO; // OFF

用户被迫使用回车键或勾选按钮提交转换。 有没有办法抑制这种情况?

评论太多,所以我将其添加为答案。 User cancelled the operation error 有时会有帮助:例如,当您想要显示 UI 并且您不知道用户是否点击了 OK、Cancel 或出现错误时。我个人认为在这种情况下设置全局 displayDialogs 太过分了:如果出现问题,用户将坚持使用您设置的选项,而不是他们拥有的选项。在这里你可以检查错误号:

try
{
  //some code
}
catch (e)
{
  if (e.number == 8007)
  {
    // do something or ignore
  }
  else
  {
    // an actual error
    alert(e);
  }
}