Javascript以不同的大小调整图像大小,其中只有宽度重要

Javascript以不同的大小调整图像大小,其中只有宽度重要,javascript,photoshop,Javascript,Photoshop,我正在尝试为Photoshop制作一个脚本,它可以将打开的图像调整为不同的大小,其中只有宽度很重要。目标是在每次调整大小后,它都应该恢复图像的原始状态,并以不同的宽度运行。有一些在线脚本几乎可以做到这一点,但我只得到错误。我得到的错误是“未定义的不是对象” 目前我有以下脚本,但我被卡住了: //获取对当前(活动)文档的引用,并将其存储在名为“doc”的变量中 doc=app.activeDocument; //这些是图像的最终结果宽度和高度(以像素为单位)的值 var fWidth=940;

我正在尝试为Photoshop制作一个脚本,它可以将打开的图像调整为不同的大小,其中只有宽度很重要。目标是在每次调整大小后,它都应该恢复图像的原始状态,并以不同的宽度运行。有一些在线脚本几乎可以做到这一点,但我只得到错误。我得到的错误是“未定义的不是对象”

目前我有以下脚本,但我被卡住了:

//获取对当前(活动)文档的引用,并将其存储在名为“doc”的变量中
doc=app.activeDocument;
//这些是图像的最终结果宽度和高度(以像素为单位)的值
var fWidth=940;
//我们的web导出选项var options=新导出选项saveforweb();
函数SaveJPEG(保存文件,质量){
var exportoptions saveforweb=新的exportoptions saveforweb();
exportoptions saveforweb.format=SaveDocumentType.JPEG;
exportoptions saveforweb.includeProfile=false;
exportoptions saveforweb.interlaced=false;
exportoptions saveforweb.optimized=true;
exportoptions saveforweb.quality=80;
}
var newName='F'+doc.name+'.jpg';
doc.exportDocument(文件(doc.path+'/'+newName)、ExportType.SAVEFORWEB、选项);

doc.activeHistoryState=doc.historyStates.index(0)如果问题是它破坏了您的脚本,您应该尝试使用try..catch语句

...

var newName;

try {
  newName = 'F' + doc.name + '.jpg';
} catch (e) {
  newName = 'F' + 'name-error' + '.jpg';
  console.log('doc.name is not accessible: ' + e.message;);
}

...

似乎
app.activeDocument
未定义。是
documents.length!=0
?(从没有关系,因为文档图像是用图像打开的。至少这是我解释的方式,我在这一行没有得到错误。设置
doc=app.activeDocument;
,没有错,只是它可能有一个
未定义的值。
。然后当你试图获取
doc.name
时,它失败了,因为
undefined
没有
.name
属性。是否检查了
文档。长度
?您可以通过操作和“自动化>调整图像”来完成此任务选项,您不需要脚本。但无论如何,如果您描述了运行脚本所遵循的步骤,我们可能会检测到错误的位置。您不必“恢复图像的原始状态”。复制图像、处理副本、调整大小、保存或其他操作、关闭、复制图像……等等。