私はhttps://forums.adobe.com/thread/1536677からいくつかのコードを取得し、これは私が、私はいくつかは、など、変換を行うためにScriptListener.8liを使用することができ、これを生成するScriptListener.8liを書いたり、使用方法を知りたいこのようなPhotoshopのアクションマネージャーコードを書くには?
function getLBounds(){
var ref = new ActionReference();
ref.putEnumerated(charIDToTypeID("Lyr ") , charIDToTypeID("Ordn"), charIDToTypeID("Trgt"));
desc1 = executeActionGet(ref);
desc1 = desc1.getObjectValue(stringIDToTypeID('bounds'));
desc1Top = desc1.getUnitDoubleValue(stringIDToTypeID('top'));
desc1Bottom = desc1.getUnitDoubleValue(stringIDToTypeID('bottom'));
desc1Left = desc1.getUnitDoubleValue(stringIDToTypeID('left'));
desc1Right = desc1.getUnitDoubleValue(stringIDToTypeID('right'));
rObj = {top:desc1Top, left:desc1Left, bottom:desc1Bottom, right:desc1Right};
return rObj;
}
層の境界を得ることができます。しかし、私は情報を取得する方法を知らない。多くの感謝!
// =======================================================
var idTrnf = charIDToTypeID("Trnf");
var desc2 = new ActionDescriptor();
var idFTcs = charIDToTypeID("FTcs");
var idQCSt = charIDToTypeID("QCSt");
var idQcsa = charIDToTypeID("Qcsa");
desc2.putEnumerated(idFTcs, idQCSt, idQcsa);
var idOfst = charIDToTypeID("Ofst");
var desc3 = new ActionDescriptor();
var idHrzn = charIDToTypeID("Hrzn");
var idPxl = charIDToTypeID("#Pxl");
desc3.putUnitDouble(idHrzn, idPxl, 0.000000);
var idVrtc = charIDToTypeID("Vrtc");
var idPxl = charIDToTypeID("#Pxl");
desc3.putUnitDouble(idVrtc, idPxl, 0.013677);
var idOfst = charIDToTypeID("Ofst");
desc2.putObject(idOfst, idOfst, desc3);
var idWdth = charIDToTypeID("Wdth");
var idPrc = charIDToTypeID("#Prc");
desc2.putUnitDouble(idWdth, idPrc, 86.486860);
var idHght = charIDToTypeID("Hght");
var idPrc = charIDToTypeID("#Prc");
desc2.putUnitDouble(idHght, idPrc, -88.215838);
var idSkew = charIDToTypeID("Skew");
var desc4 = new ActionDescriptor();
var idHrzn = charIDToTypeID("Hrzn");
var idAng = charIDToTypeID("#Ang");
desc4.putUnitDouble(idHrzn, idAng, 0.033079);
var idVrtc = charIDToTypeID("Vrtc");
var idAng = charIDToTypeID("#Ang");
desc4.putUnitDouble(idVrtc, idAng, 0.000000);
var idPnt = charIDToTypeID("Pnt ");
desc2.putObject(idSkew, idPnt, desc4);
var idAngl = charIDToTypeID("Angl");
var idAng = charIDToTypeID("#Ang");
desc2.putUnitDouble(idAngl, idAng, -170.957285);
executeAction(idTrnf, desc2, DialogModes.NO);
PS:最後のコードはScriptListener.8liという形式で生成されます。最初の関数getLBoundsの生成方法を知りたいと思います。
はい、それはScriptListener.8liから来ていますが、私はfunciton getLBounds()のようなコードを生成する方法を知りたいのですが、より正確にはexecuteActionGet関数を呼び出す方法は?どうも! –
scriptlistenerがコードを生成します。それをパラメータ化して関数に入れなければなりません。 [Photoshop Scripting Guide]のイベントIDとクラスIDを見つけるためにScriptListenerを使用するを読んでください(http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/photoshop/pdfs/photoshop-cc-scripting-guide -2015.pdf) –
ああ、私はそれを読んだだけで、イベントIDを与えます。関数getLBoundsでは、executeActionGet()はレイヤの説明を取得しますが、それは単なる推測です。その後 –