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]);
としてプリセットを読み込む事をおすすめします。