使用JavaScript编写Photoshop脚本时无法找到指定图片文件的问题
Photoshop脚本无法找到同目录图片的解决办法
问题分析
你的代码存在几个关键问题导致找不到图片:
~/在Photoshop脚本中指向用户主目录,并非脚本所在文件夹,路径指向错误- 未正确获取脚本所在目录的路径
placeFile不是Photoshop脚本的内置函数,无法正确执行图片放置操作- 带特殊字符(如
ő)的文件名需确保脚本保存为UTF-8编码,避免编码识别错误
修正后的代码
// 创建新文档 var newDocument = app.documents.add(1080, 1080, 300, "New Document", NewDocumentMode.RGB); // 获取脚本所在文件夹路径 var scriptFolder = new File($.fileName).parent; // 拼接目标图片的完整路径 var imagePath = new File(scriptFolder + "/teszt_fekvő.jpg"); if (imagePath.exists) { // 将图片作为智能对象放置到新文档 var placedItem = newDocument.placedItems.add(imagePath); // 可选:让图片适配文档尺寸 placedItem.fitBounds(new DocumentBounds(0, 0, newDocument.width, newDocument.height)); // 可选:栅格化智能对象(如需转为普通图层) placedItem.rasterize(); // 重命名图层 placedItem.name = "New Layer"; } else { // 提示时输出完整路径,方便排查实际指向位置 alert("文件未找到:" + imagePath.fsName); }
关键说明
$.fileName:获取当前脚本的完整文件路径,通过.parent属性得到脚本所在文件夹placedItems.add():Photoshop脚本中放置外部图片的标准方法,会创建智能对象图层imagePath.fsName:输出系统识别的完整路径,便于确认路径是否正确- 脚本需保存为UTF-8编码,确保特殊字符文件名能被正确识别
内容的提问来源于stack exchange,提问作者tompoc
相关产品推荐
相关产品推荐

