我想对photoshop中的图像执行比例变换。比例自由变换
我正在使用JavaScript界面自动执行此操作。我对这样的东西有点熟悉。要进行转换,必须通过scriptlistening插件使用photoshop actionscript语言,因为转换函数不会在DOM中公开。
我对这些变量的功能并不十分熟悉,而且在确定如何使变换成比例(即不随着放大/缩小而改变纵横比)方面遇到了很多麻烦。
任何人都熟悉或有任何想法?
var idTrnf = charIDToTypeID("Trnf");
var desc22 = new ActionDescriptor();
var idnull = charIDToTypeID("null");
var ref12 = new ActionReference();
var idLyr = charIDToTypeID("Lyr ");
var idOrdn = charIDToTypeID("Ordn");
var idTrgt = charIDToTypeID("Trgt");
ref12.putEnumerated(idLyr, idOrdn, idTrgt);
desc22.putReference(idnull, ref12);
var idFTcs = charIDToTypeID("FTcs");
var idQCSt = charIDToTypeID("QCSt");
var idQcsa = charIDToTypeID("Qcsa");
desc22.putEnumerated(idFTcs, idQCSt, idQcsa);
var idOfst = charIDToTypeID("Ofst");
var desc23 = new ActionDescriptor();
var idHrzn = charIDToTypeID("Hrzn");
var idPxl = charIDToTypeID("#Pxl");
desc23.putUnitDouble(idHrzn, idPxl, 622.000000);
var idVrtc = charIDToTypeID("Vrtc");
var idPxl = charIDToTypeID("#Pxl");
desc23.putUnitDouble(idVrtc, idPxl, -480.500000);
var idOfst = charIDToTypeID("Ofst");
desc22.putObject(idOfst, idOfst, desc23);
var idWdth = charIDToTypeID("Wdth");
var idPrc = charIDToTypeID("#Prc");
desc22.putUnitDouble(idWdth, idPrc, 150.000000);
var idHght = charIDToTypeID("Hght");
var idPrc = charIDToTypeID("#Prc");
desc22.putUnitDouble(idHght, idPrc, 150.000000);
var idIntr = charIDToTypeID("Intr");
var idIntp = charIDToTypeID("Intp");
var idBcbc = charIDToTypeID("Bcbc");
desc22.putEnumerated(idIntr, idIntp, idBcbc);
executeAction(idTrnf, desc22, DialogModes.NO);
idPrc是我用来改变的改变百分比。但我不知道什么idHrzn和idVrtc正在做什么,以及如何我可以生成正确的数字,使转换不会改变iamge的长宽比。
有[一堆脚本界面](http://www.adobe.com/devnet/photoshop/scripting.html),您使用的是哪个版本? – Teemu
我正在使用CS6 JavaScript参考,但大多数情况下它们没有明显不同。这个问题实际上是针对photoshop内部功能的,而不是其他任何东西。 – user2666063
我不确定你真的想要做什么。如果您只是调整图像大小,为什么不在dom中使用“调整大小”方法? –