レイヤー全て左右反転

レイヤーが多い時に画像反転したい時は写真屋など他ソフトを使用してたのですが、スクリプトで一斉レイヤー反転が可能になったので組みました。
「スクリプト」→「ウィンドウスクリプト」にコピペすると使えます。
登録したい場合は スクリプトの登録方法 を、参照ください。


np_image img = get_active_image();//編集中の画像を取得

for (int i = 0; i < get_layer_count(img); ++i) {//繰り返し

np_layer l = get_layer(img,i);//取得レイヤーを指定
set_active_layer(img,l);//アクティブレイヤーを指定

np_cmd(NP_HREVERSE_LAYER);//左右反転
}



以下はオマケ

freemaniaのねーこさんがツイッターで「スクリプト実行で現在の年月日+時間+連番.psdみたいなことをしてみたい。」と書いていたのを見て以来ちょっと気にしてたのですが。
時間取得でよく見るメソッドは無理で、Angel Scriptで調べようとしたけどこれは私がついていけませんでした。
でも string の型で時間取得可能になれば、画像名を変更してから名前を付けて保存は可能なのは確認できました。
連番は厳しいですけど。
そこは時間を分まで取得しちゃえばよいと思われ。

実験で組んだもの

np_image img = get_active_image();

string name1 = get_name(img);
string name2 = "test";
string name3 = name1 + name2;
np_layer nl = get_active_layer(img);

set_name(nl,name3);
set_name(img,name2);
np_cmd(516); //名前をつけて保存


新規ではなく、保存してあるファイルを開いてこれを実行すると
・アクティブレイヤーの名前が「ファイル名.拡張子test」
・ファイル名が「test」
・「test.psd」で保存するか確認が出る

となります。
スクリプト側で全角文字を指定しようとすれば文字化けしますが、読み込んだデータ、この場合ファイル名が全角文字だとしてもそのまま全角文字で吐き出し可能のようです。
※ npaint_script08.zip から全角文字が使えるようになりました。
タグ:スクリプト
posted by むらせ at 2010年08月18日 22:56 | スクリプト | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。