【问题标题】:Photoshop CC Javascript - Flip Layer / ImagePhotoshop CC Javascript - 翻转图层/图像
【发布时间】:2018-11-20 16:19:49
【问题描述】:

我需要能够垂直或水平翻转图像/活动层。

纵观Adobe Photoshop CC Javascript Reference,似乎没有活动层/对象的翻转方法。

doc.flipCanvas(Direction.VERTICAL)

确实有效,但这显然会垂直翻转整个文档,因为我只想在活动层上这样做

我可以在它提到的invert() 方法中看到:

反转选择(取消选择并选择其余部分 层或文档)。提示。要翻转选择形状,请参阅rotate

这说明了以下内容:

旋转(角度[,锚点]) -

围绕指定锚点旋转指定数量

我已经在其他地方使用了旋转方法,但看不到如何通过它翻转图像?

obj.rotate( rotation,  AnchorPosition.TOPLEFT );

【问题讨论】:

  • 有趣的问题!我看不到转换翻转的方法。我希望其他人可以为您提供更好的答案。

标签: javascript photoshop


【解决方案1】:

ArtLayer 没有翻转方法,可以使用.resize 代替:

将图层调整为指定的大小 尺寸(作为百分比 它的当前大小)并将其放置在 指定位置。

activeDocument.activeLayer.resize(-100,undefined); //will flip layer horizontally
activeDocument.activeLayer.resize(undefined,-100); //will flip layer vertically

(对于锚点还有第三个参数)

【讨论】:

    【解决方案2】:
    var idFlip = charIDToTypeID( "Flip" );
    var desc16024 = new ActionDescriptor();
    var idnull = charIDToTypeID( "null" );
    var ref2273 = new ActionReference();
    var idLyr = charIDToTypeID( "Lyr " );
    var idOrdn = charIDToTypeID( "Ordn" );
    var idTrgt = charIDToTypeID( "Trgt" );
    ref2273.putEnumerated( idLyr, idOrdn, idTrgt );
    desc16024.putReference( idnull, ref2273 );
    var idAxis = charIDToTypeID( "Axis" );
    var idOrnt = charIDToTypeID( "Ornt" );
    var idHrzn = charIDToTypeID( "Hrzn" );
    desc16024.putEnumerated( idAxis, idOrnt, idHrzn );
    executeAction( idFlip, desc16024, DialogModes.NO );
    

    将水平翻转一层。

    【讨论】:

      猜你喜欢
      • 2015-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-28
      • 2011-08-02
      • 2015-09-10
      相关资源
      最近更新 更多