使用Adobe Photoshop CC 2018脚本引擎的javascript API:
app.preferences.rulerUnits = Units.MM;
app.preferences.typeUnits = TypeUnits.MM;
app.activeDocument.selection.select([
[0,0],
[0, UnitValue(150, "mm")],
[UnitValue(150, "mm"), UnitValue(150, "mm")],
[UnitValue(150, "mm"), 0]
]);
Photoshop在左上方放置一个15×15厘米的选择。
Photoshop会创建12.7×12.7个像素?的位置,我什至不确定确切位置。
该文档的大小为29.7×29.7厘米,因此预计该选择将占据画板的一半。而且,“ 行进蚂蚁”甚至都没有设置在画板的左上角。
我阅读了the referrence的大部分内容,并且尝试了很多有关Google的内容,但结果却令人误解
UPDATE 可能根本不是以像素为单位,因为UnitValue(150, 'mm').as('px')
输出的是425.196850393701
而不是我认为是像素值的12.7
。
UPDATE 尝试将PPI设置为300以匹配文档的PPI,但行为却相同。
var startUnit=UnitValue(150, "mm");
startUnit.baseValue = UnitValue(1 / 300, "in");
答案 0 :(得分:0)
Photoshop喜欢使用像素,使用英寸,毫米和厘米只是为了给我们人类带来方便。试试:
var myDocument = app.activeDocument;
app.preferences.rulerUnits = Units.MM;
var myMM = Number(myDocument.width);
app.preferences.rulerUnits = Units.PIXELS;
var myPixels = Number(myDocument.width);
myDocument.selection.select([
[0,0],
[0, 150*myPixels/myMM],
[150*myPixels/myMM, 150*myPixels/myMM],
[150*myPixels/myMM, 0]
]);
app.preferences.rulerUnits = Units.MM;
其中myMM
是文档的宽度,单位为mm,myPixels
是文档的宽度,单位是像素。