Photoshop脚本调图像尺寸后分辨率未更新,需自动设置指定分辨率
问题描述
我有一张图像,手动将宽度调整为1000pt时,分辨率变为261.5pixels/inch;但使用JS脚本执行相同操作时,图像宽度虽更改,分辨率仍与原图一致。现有JS代码:
document.resizeImage(UnitValue(parseInt(row.width),"pt"), null, null); //working
其中row.width = 1000,请问如何自动计算并将图像分辨率设置为261.5px/inch?
解决方法
在调整图像宽度后,直接设置图像对象的resolution属性即可实现需求。以下是修改后的代码:
// 调整图像宽度为1000pt document.resizeImage(UnitValue(parseInt(row.width),"pt"), null, null); // 获取目标图像对象(这里以选中的第一个图像为例,批量操作需遍历目标图像集合) var targetImage = document.selection[0]; // 设置分辨率为261.5 pixels/inch targetImage.resolution = 261.5;
如果需要自动计算分辨率而非硬编码数值,可通过公式推导:
分辨率 = 图像像素宽度 ÷ 打印宽度(英寸)
已知1000pt换算为英寸是 1000 / 72 ≈13.8889英寸,若手动调整后分辨率为261.5,则对应像素宽度为 261.5 × 13.8889 ≈3632像素。你也可以基于此逻辑,先计算目标像素尺寸再调整图像,不过直接设置resolution属性是更简洁的方式。
注:确保脚本运行环境(如Adobe InDesign)支持图像对象的resolution属性,不同软件的JS API可能存在细微差异,但核心逻辑一致。
内容的提问来源于stack exchange,提问作者Alaksandar Jesus Gene
相关产品推荐
相关产品推荐

