「スクリプト説明」の編集履歴(バックアップ)一覧に戻る
スクリプト説明 - (2010/05/04 (火) 07:18:09) のソース
「スクリプト説明.txt」を元にしていますが、改変追加されています。 オリジナルはプログラムに付属のテキストをご覧下さい。気がついた事があれば随時編集してください。 #contents *マンガミーヤでのAvisynthプラグインのスクリプト(フィルタ設定)説明 基本的にAvisynthスクリプトと同じですが、変数が使えなかったり、Clip指定できなかったり、関数定義もできません。 フィルタ名(パラメータ1,パラメータ2,...) という指定です。 パラメータ部分には、数式、"(ダブルクォーテーション)で囲った文字列、定義済み変数などを指定します。パラメータを省略した場合で、フィルタの定義ファイルが存在しているときはそのデフォルト値が入ります。定義ファイルがない場合は、プラグイン側で指定された値が使われます。 ただし、プラグイン側でデフォルト値が指定していない場合などは,予期せぬ値が渡り、エラーの原因になりますので、なるべく定義ファイルを用意してください。定義ファイルについてはAvisynthPluginフォルダ内の"定義ファイル説明.txt"を参照してください。 **「定義済み変数」 |@page |現在の表示ページ| |@totalpage |全ページ数| |@name |ファイル名| |@size |ファイルサイズ| |@time |ファイル最終更新日付| |@width |画像の幅(原画像の幅です)| |@height |画像の高さ(原画像の高さです)| |@wndwidth |現在の表示ウインドウの幅| |@wndheight |現在の表示ウインドウの高さ| |@leftpage |2ページ表示時の左側ページ番号 1ページ時は0| |@rightpage |2ページ表示時の右側ページ番号 1ページ時は0| |@param[n] |nはパラメータの数だけあります(1オリジン) 第3パラメータを参照する場合は@param3です| |@パラメータ名 |パラメータ名に@をつけてものでそのパラメータ値を参照できます。上のはパラメータの位置で、これは名前で参照できます| 先頭の@をエスケープする場合は@@です 例 "@page"という文字列を指定したいときは"@@page"です @name,@size,@time,@width,@heightは配列でページ数を指定することができます。 例 @width[ 10 ] 10ページ目の幅 @width[ @page ] == @width ページ数指定を省くと処理しているページの幅になります **「数式」 C言語での数式とほぼ同じです +,-,*,/,<<.>>,%,&,|,^ が使用可能です。 評価式は <,>,<=,>=,!=,== が使用可能です。評価が真であれば1が、偽であれば0が返ります。 数字は整数、および小数が指定可能です。整数に関しては'0x'プリフィックスをつけることで16進数指定が可能です。 整数と小数の演算では結果は小数になります。 ただし、&,|,^,<<,>>に関しては小数は整数にキャスト(小数切り落とし)されます キャスト演算はサポートしていないので、整数割る整数などの結果を小数で得たい場合、どちらかを小数指定(後ろに.0をつける)にしてください。 定義変数はすべて整数なので、これを小数にしたい場合などは+0.0,-0.0などをつけて無理やり小数にしてください。 例 (@wndheight-0.0)/@height **「条件文」 if(条件式){ 式1 }else{ 式2 } スクリプトの結果として求められるのは、1つの数字、または文字列なのでステートメントなどは意味をなしません。Cでの#ifディレクティブのような感じで、ただの条件付き置換です。 例 "このページは" + if(@leftpage==0){ "単頁" }else if(@leftpage==@page){ "左頁" }else{ "右頁" } + "です" -