javascript - 如何在 Javascript 中创建圆形或椭圆形选区以便在 Photoshop 中使用?

标签 javascript photoshop ellipse photoshop-script

所以我的最终目标是在拐 Angular 处创建 4 个圆形选区,但是在查看文档并搜索多次后,我找不到除了矩形选区之外的任何信息。我相信应该有一个解决方案,但我真的想不出任何不涉及为圆设置大量边界像素位置的方法(我什至不确定是否会这样)工作,因为我对 Photoshop 脚本及其工作原理相当陌生)。

非常感谢!

最佳答案

Photoshop 脚本 API 并不完整,有时您在尝试完成某些任务时会遇到困难。 Adobe 自己的 ScriptListener 插件是处理此问题的一个很好的工具。弄清楚它输出的代码需要一点时间,但这将有助于填补脚本的漏洞。下面是我用来进行循环选择的函数:

function makeCircle(left,top,right,bottom,antiAlias){

var circleSelection = charIDToTypeID( "setd" );
    var descriptor = new ActionDescriptor();
    var id71 = charIDToTypeID( "null" );
        var ref5 = new ActionReference();
        var id72 = charIDToTypeID( "Chnl" );
        var id73 = charIDToTypeID( "fsel" );
        ref5.putProperty( id72, id73 );
    descriptor.putReference( id71, ref5 );
    var id74 = charIDToTypeID( "T   " );
        var desc12 = new ActionDescriptor();

        var top1 = charIDToTypeID( "Top " );
        var top2 = charIDToTypeID( "#Pxl" );
        desc12.putUnitDouble( top1, top2, top );

        var left1 = charIDToTypeID( "Left" );
        var left2 = charIDToTypeID( "#Pxl" );
        desc12.putUnitDouble( left1, left2, left );

        var bottom1 = charIDToTypeID( "Btom" );
        var bottom2 = charIDToTypeID( "#Pxl" );
        desc12.putUnitDouble( bottom1, bottom2, bottom );

        var right1 = charIDToTypeID( "Rght" );
        var right2 = charIDToTypeID( "#Pxl" );
        desc12.putUnitDouble( right1, right2, right );

    var id83 = charIDToTypeID( "Elps" );
    descriptor.putObject( id74, id83, desc12 );
    var id84 = charIDToTypeID( "AntA" );
    descriptor.putBoolean( id84, antiAlias );
executeAction( circleSelection, descriptor, DialogModes.NO );
}

关于javascript - 如何在 Javascript 中创建圆形或椭圆形选区以便在 Photoshop 中使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35235191/

相关文章:

c# - Winforms 透明度问题(我为之着迷)

Photoshop 脚本 : Relink Smart Object

png - 了解使用 Photoshop 生成的 24 位 PNG

c++ - 如何检测椭圆是否与另一个椭圆/矩形碰撞

c# - 显示椭圆的半径 - WPF

javascript - 在按钮内单击子元素时不会触发父 onClick

javascript - 将 json 条目与 d3 合并

javascript - 通过 AngularJS 使用 RESTful Web 服务

javascript - 将 &lt;input&gt; 和 <p> 放在同一行

c++ - 检测已知中心的部分隐藏椭圆的边界(OpenCV)