Photoshop

今更の処理スピード js

昔、ジャバスクリプトでの処理スピードが、記述の仕方でどの位違うのか、測ってみた事がある。
その時は、配列の最後に値を追加するテストだった。

array[ count++ ] = value;
array[ array.length ] = value;
array.push( value );

の3種類での比較で、カウントを取っている 1 番目が一番速かった。

今回の実験は

//test-1
for ( var i = 0; i < count; i++ ){
	var s = obj.textRanges[ 0 ].characterAttributes.size;
}//test-2
var ca = obj.textRanges[ 0 ].characterAttributes;
for ( var i = 0; i < count; i++ ){
	 var s = ca.size;
}

なんとこれで 2.5 倍の違いが出る。(書き込みでは僅差だがやはりtest-2)

考えてみれば当たり前か。
test-1 では、文字サイズに行き着くまで、オブジェクト>テキストレンジの何番>アトリビュート と3 段階の手間が掛かっているが、test-2 の cs がアトリビュートを指しているので、サイズまで速い訳だ。

ループ内では、目的地に近いオブジェクトを示す参照オブジェクトを用意しよう。

Tags:

Px_PanelEX.js

って事は、Px_Panels は、もう古いって事ですか。。

少々(大分)煩雑で厄介な部分を改良した Px_PanelEXarrow-r は、あの Px_Panels の改良版って事の様です。一応 Px_Panels.js は残しておきますが、今後は申し訳ありませんが Px_PanelEX.js へ。

Tags: , , ,

Px_Panels.js 更新

少々更新しました。

Tags: , , ,

Px_Panels.js

スクリプト制作初心者向けカンタンUIパネル構築スクリプトです。
まだ完成品ではありません。機能拡張途中ですが。。。

使い方など Px_Panelsarrow-rページ を作りましたので宜しければどうぞ。

また、更新したスクリプトもそちらへアップしますので、スクリプト利用者もその時には既存の物と入れ替えてください。

Tags: , , ,

プロパティと値

右往左往してる。

UI のスクリプトを作っているが、コントロールのプロパティなど、マニュアルだけでは分かりづらいし、設定した値はどこに入って行くのか、とか。

そう言えば、古簱さんの所で以前見た事あるなぁと思いarrow-r

AI でもちゃんと書き出してくれます。これは便利。
ちょっと改造させて頂いて、オブジェクトを渡すかたちにして重宝しています。

function prop( obj )
{
	var CR = String.fromCharCode(13);
	var result = "";
	for ( var i in obj) {
		try { result = result + i+" = "+obj[ i ] + CR; }
		catch( e ){ result = result + CR; }
	}
	var pageObj = app.activeDocument;
	var txtObj = pageObj.textFrames.add();
	txtObj.visibleBounds = [ 0, 0, 100, 100 ];
	txtObj.contents = result;
}
Tags:

いんちきノンモーダル 2

火曜日, 2010/03/16 17:30 pm Illustrator, InDesign, Photoshop, 独り言 9件のコメント

大分、ほとんど? 仕上がった感じだった、さっきまでは。。。

01

• どーしても続きを見る •

Tags: , ,

いんちきノンモーダル

スクリプトではコマンドを発行し実行させて終わります。
私が初めてスクリプトを書き始めたのがLW3Dでしたが、スクリプトではコマンドを発行し(パネルで数値などを設定してOKを押す)それに従い一度だけ処理を行いスクリプトを終了ます。このパネルはモーダルパネルと言われています。
時が過ぎ、そのスクリプトのパネル処理にコールバック関数が付加されました。パネルのボタンを押すとコールバック関数を呼ぶことができ、その関数内で処理を行う。または数値設定を変更するとコールバック関数が呼ばれる仕組み。コールバックでは設定値を読み、それに従いモデルの移動や変形をさせパネルに戻って来れるので、パネルは生きたままで設定値に従い結果を確認しながら変更できます。真のノンモーダルパネルではなく「インチキノンモーダル」と呼んで、あたかもツールライクに扱える事を楽しんでいました。

AI や ID のジャバスクリプトでも UI 処理ができ、コールバックを受けることができる仕組みがあります。
これは、設定パネルで変更する値をコールバックで受け取り、即座にジオメトリなどに反映させてみせる事も可能です。事実「OK」ボタンのコールバックで設定値を確保しパネルを破棄する処理を行っているでしょう。
スライダーや数値設定(テキスト編集ボックスかな)で、イベントを受け取りコールバック関数を呼ぶ。
パネル設定だけの関数ではなく、実質的な処理を即座に実行しジオメトリに反映させウインドウに表示させる。
これは、スクリプトを使用するユーザーに変更点を即座に見せながら実行させることができ、スクリプトのやり直しを減らす事にもなる訳です。また、動かして見ていても楽しいです。

しかし、コントロールパネルは ExtendScript Toolkit の User Interface Tools でチマチマ構築しないといけないのですが。。。

01

Tags: ,

なに?

火曜日, 2010/03/02 23:09 pm InDesign, Photoshop 9件のコメント

01

PS resetPixelAspect.js

木曜日, 2010/02/25 18:20 pm Photoshop コメントはまだありません

画像原稿で希に「ピクセル縦横比」が正方形(1.0)でない物が入って来る。
原稿を出す方としては、ピクセル縦横比を変更している物が正常としているだろう。
そう「ピクセル縦横比プレビュー」で見たままの画像だ。
これを AI や ID でレイアウトすると、この縦横比変形状態は解除され、正方形ピクセルとして配置されてしまう様だ。
これではマズい。
AI や ID からこのピクセル縦横比を読めればいいがそうも行かない様だ。

• どーしても続きを見る •

Tags: , ,

グレースケールの色づけ

金曜日, 2010/02/19 8:57 am Illustrator, InDesign, Photoshop 4件のコメント

取引先からレイアウトデータをくれ、と言うので私のイラストレータCS3データを相手用CS2に落とし画像ファイルと共に渡した。
色が着いていなくグレースケールになっていると言う。

• どーしても続きを見る •

Tags: ,
 

Contribution

2010年9月
« 8月    
 1234
567891011
12131415161718
19202122232425
2627282930  

Archive

Please donate