Illustratorの画像トレースをJavascriptで

夏も本番に入ってきました。皆様はいかがお過ごしでしょうか? いやぁ〜暑いですねぇw お庭ではトマトときゅうりとゴーヤが元気いっぱいです。ブルーベリーも7割方収穫が終わりました。もうすぐジャムになります。と今回はこれぐらいで終わっておきます。
では、おまけをどうぞ。今日は画像トレースに関するものを書きなぐっておきますね。

Properties
特殊なオブジェクトを値に取るもの
preset : 白黒のロゴ
viewMode(表示)ViewType object
ViewType.TRACINGVIEWVECTORTRACINGRESULT
ViewType.TRACINGVIEWVECTORTRACINGRESULT
ViewType.TRACINGVIEWVECTOROUTLINES
ViewType.TRACINGVIEWVECTORWITHTRANSPARENTIMAGE
ViewType.TRACINGVIEWIMAGE

tracingMode(カラーモード)TracingModeType object
TracingModeType.TRACINGMODEBLACKANDWHITE
TracingModeType.TRACINGMODECOLOR
TracingModeType.TRACINGMODEGRAY

tracingColorTypeValue (パレット)TracingColorType object
TracingColorType.TRACINGFULLCOLOR
TracingColorType.TRACINGLIMITEDCOLOR

cornerFidelity(コーナー)
noiseFidelity(ノイズ)
tracingMethod(方式)TracingMethodType Object
TracingMethodType.TRACINGMETHODABUTTING
TracingMethodType.TRACINGMETHODOVERLAPPING

Stringなプロパティ
palette(パレット)
colorGroup(カラーグループ)
Swatchのカラーグループ名を指定します。

32bitの整数なプロパティ
tracingColors(カラー)
トレースに利用するカラーの最大数(カラーの時のみ)

threshold (しきい値)
2階調モードのみ

grayLevels(グレー)
グレースケール時のみ利用。

数値なプロパティ
colorFidelity(カラー)
カラーの正確性の割合(フルカラー、限定のみで利用される)

pathFidelity(パス)
パスの誤差の許容値

maxStrokeWeight(線)
線の太さ

Booleanなプロパティ
fills(塗り) true
strokes(線) false
snapCurveToLines(曲線を直線にフィット)
ignoreWhite(白を無視)

見本です。

var p = app.activeDocument.placedItems.add();
p.file = File.openDialog(“Select Image”);
var t = p.trace();
t.tracing.tracingOptions.viewMode = ViewType.TRACINGVIEWVECTORTRACINGRESULT;
t.tracing.tracingOptions.tracingMode = TracingModeType.TRACINGMODECOLOR;
t.tracing.tracingOptions.tracingColorTypeValue = TracingColorType.TRACINGLIMITEDCOLOR;
t.tracing.tracingOptions.palette = “ライブラリなし”;
t.tracing.tracingOptions.colorGroup = “グレー”;
t.tracing.tracingOptions.tracingColors = 30;
t.tracing.tracingOptions.colorFidelity = 100;
t.tracing.tracingOptions.threshold = 80;
t.tracing.tracingOptions.grayLevels = 53;
t.tracing.tracingOptions.pathFidelity = 61;
t.tracing.tracingOptions.cornerFidelity = 66;
t.tracing.tracingOptions.noiseFidelity = 25;
t.tracing.tracingOptions.tracingMethod = TracingMethodType.TRACINGMETHODOVERLAPPING;
t.tracing.tracingOptions.fills = true;
t.tracing.tracingOptions.strokes = false;
t.tracing.tracingOptions.maxStrokeWeight = 10;
t.tracing.tracingOptions.snapCurveToLines = true;
t.tracing.tracingOptions.ignoreWhite = false;
app.redraw();
t.tracing.expandTracing();

でも、面倒なので

var tracingPresets = app.tracingPresetsList;
t.tracing.tracingOptions.loadFromPreset(tracingPresets[3]);

としてプリセットを読み込む事をおすすめします。

ten_a

Graphic Designer, Scripter and Coder. Adobe Community Professional.

シェアする

コメントを残す