AIでHalfToneScreenパターン

えーと、わたしはモザイク機能を利用しています。何の事か分かりませんよね?ハーフトーンスクリーンをパスで表現する場合の事です。グラデーションメッシュで作りたい濃度変化を作ります。それをラスタライズ→モザイク生成と進みます。そのモザイクのグループを濃度に応じたellipseにスクリプトを利用して変換して行きます。不可逆なので使いづらいかというとそうでもありません。元のグラデーションメッシュをどっかに置いておけば良いんです、そんなもんです(あきらめ)。まあ、こんなアプローチもあると言う事でw
ここまで読んでも良くわかんねっていう方も続きをご覧下さい。


単純です。モザイク化されたグループを濃度に応じた網点に変換して行くだけのシンプルなスクリプトです。モザイクグループはグレースケールの塗りにしておいて下さい。grayプロパティしか見てませんから。

amscreen1.png

amscreen2.png

var dots = {
    scale : Math.SQRT2,
    cnvrt : function(){
        var tg = app.selection[0].pathItems;
        var bk = new CMYKColor;
        bk.cyan = 0;
        bk.magenta = 0;
        bk.yellow = 0;
        bk.black = 100;
        var cir,ct,scl;
        var bd = [(tg[0].geometricBounds[2] – tg[0].geometricBounds[0])/2,
                    (tg[0].geometricBounds[3] – tg[0].geometricBounds[1])/2];
        for (var i=0;i<tg.length;i++){
            ct = [tg[i].geometricBounds[0] + bd[0],
                   tg[i].geometricBounds[1] + bd[1]];
            scl = this.scale * tg[i].fillColor.gray / 100;
            cir = app.activeDocument.pathItems.ellipse(
                ct[1] + bd[1] * scl, ct[0] – bd[0] * scl,
                bd[0] * scl * 2, bd[1] * scl * 2);
            cir.fillColor = bk;
            //tg[i].remove();
            }
        }
    }

dots.cnvrt();

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中