複数の画像を一挙に編集し、出力するカスタムオブジェクトです。
使い方
編集したい画像を、一括画像編集.objと同じ階層にあるimage
フォルダに配置します。
カスタムオブジェクトから「一括画像編集」をタイムライン上に用意します。
デフォルトでは、このようなログが表示されています。
- 「入力形式」を指定します。
- PNG・JPG・BMPに対応していますが、画像編集を適用する形式を指定することができます。0を指定すると、すべての画像に対して実行します。
- 「出力形式」を指定します。
- 出力する画像の形式を、PNG・JPG・BMPから指定できます。0を指定すると、元の画像と同じ拡張子で出力します。
- JPG形式で出力する場合のみ、「JPG品質」を設定することができます。
「設定」ボタンをクリックすると、設定ダイアログが開きます。
「処理ファイル(lua)」の項目に、処理に使用するLuaスクリプトファイルの名前を指定します(拡張子は不要)。このファイルは image/lua
フォルダ内に配置します。
- 「情報表示」 処理ファイルの説明を表示する。
- 「上書き保存」 オフ:編集後の画像が
image/out
フォルダに出力される オン:編集後に元の画像を上書きする - 「下位フォルダ」 オフ:
image
フォルダ内の画像のみを編集する オン:image
フォルダより下層のフォルダにある画像にも適用する - 「引数n」 処理ファイル(Luaスクリプト)に渡す引数を指定する。
設定が完了したら、「有効」のチェックボックスをオンにします。
すると画像編集の処理が行われます。処理が完了したら、チェックボックスをオフにしてください(オンにしている間は、ずっと画像編集が実行されます)。
設定項目
場所 | 内部変数 | 名前 | 値 | 概要 |
トラックバー | obj.track0 | 入力形式 | 数値 | 入力時の拡張子を0~3で指定します。 0:全て(PNG・JPG・BMPに対応) 1:PNG 2:JPG 3:BMP |
obj.track1 | 出力形式 | 数値 | 出力時の拡張子を0~3で指定します。 0:自動(入力形式に依存) 1:PNG 2:JPG 3:BMP | |
obj.track2 | JPG品質 | 数値 | JPG形式で出力する際の品質を0~100で指定します。 | |
obj.track3 | 文字サイズ | 数値 | 表示されるテキストのサイズを指定します。 | |
チェックボックス | obj.check0 | 有効 | ブール値 | チェックされている間、画像処理を実行します。 |
パラメータ設定 | lua_name | 処理ファイル(lua) | 文字列 | 画像処理に使用するLuaスクリプトファイルの名前を指定します(拡張子は不要)。 処理ファイルは、 /image/lua/hoge.lua として保存します。 |
mode_info | 情報表示 | 数値(chk) | 処理ファイルの説明を表示します。 説明は、処理ファイル内にテーブル形式で記述します(後述)。 | |
mode_overwrite | 上書き保存 | 数値(chk) | オフの場合、/image/out/ に出力されます。オンの場合、既存のファイルを置き換えて出力されます。 | |
mode_child | 下位フォルダ | 数値(chk) | オンにすると、/image/ 以下のフォルダ内の画像にも適用されます。ただし、二層以上の深い場所は検索しません。 | |
data1 | 引数1 | 文字列 | 処理ファイルに渡す引数を指定します。 | |
data2 | 引数2 | 文字列 | ||
data3 | 引数3 | 文字列 | ||
data4 | 引数4 | 文字列 |
処理ファイルの例
色調補正
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | ----------------------------------------------------- -- data変数で、本体側から引数を受け取ることが出来ます。 ----------------------------------------------------- function number(str) --数値以外の値が入力された時に100を代入する関数 local ret = tonumber(str) if ret==nil then return 100 end return ret end obj.effect("色調補正", "明るさ", number(data[1]), "コントラスト", number(data[2]), "輝度", number(data[3]), "彩度", number(data[4])) ----------------------------------------------------- -- 以下の形式で、スクリプトの説明をreturnします ----------------------------------------------------- return { main = "色調補正を行います。", data1 = "明るさ(0-200)", data2 = "コントラスト(0-200)", data3 = "輝度(0-200)", data4 = "彩度(0-200)" } |
拡大率
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | ----------------------------------------------------- -- data変数で、本体側から引数を受け取ることが出来ます。 ----------------------------------------------------- function number(str) local ret = tonumber(str) if ret==nil then return 100 end return ret end local size = number(data[1])/100 local sx, sy = number(data[2])/100, number(data[3])/100 local px, py = obj.w*size*sx, obj.h*size*sy obj.setoption("drawtarget","tempbuffer", px, py) obj.drawpoly(-px/2, -py/2, 0, px/2, -py/2, 0, px/2, py/2, 0, -px/2, py/2, 0, 0, 0, obj.w, 0, obj.w, obj.h, 0, obj.h) obj.setoption("drawtarget","framebuffer") obj.load("tempbuffer") ----------------------------------------------------- -- 以下の形式で、スクリプトの説明をreturnします ----------------------------------------------------- return { main = "拡大縮小を行います。", data1 = "拡大率", data2 = "X", data3 = "Y", data4 = "" } |
ダウンロード
rikky_module、textmoduleが必要です。