perspective.dll

2つ前のモーフィングで少しお話しをしましたが、そもそもperspective.dllの使い方がわからん!と知り合いに突っ込まれましたので、最低限の書式についてです。
ちなみにパースペクティブって何?って人はググって下さい。
ぶっちゃけこれ単体ではほとんど使い道ありません。むしろこう言う使い方ありそうって言うのがありましたらお教え下さい。試してみたいです。
何かと組み合わせて始めて劇的な効果を現すタイプのものなので、無くてもそんなに困る事は無いでしょう。
では準備です。
1.吉里吉里以外では”perspective.dll”が必要です。
吉里吉里関連サイトのどっかにあります。あまり不用意にURLを貼れませんので探してください。たぶんすぐ見つかります。
2.startup.tjsの上の方に Plugins.link("perspective.dll"); と書く。
サブフォルダに置いた場合、プロジェクトフォルダの下からのパスを通す事。
これで準備完了です。
このdllがいったいどう言うdllかと言うと、特定のレイヤーの画像を特定のレイヤーにパースペクティブ”的”変形をさせて表示すると言う物です。
パースペクティブを日本語に訳すのはかなり意味合いにブレがあるので難しいのですがまぁそう言う事です。
でこのdllの使い方をいくつかの解説サイトで覗くと
@macro name=perspectivecopy
@eval exp="kag.getLayerFromElm(mp,'dest').perspectiveCopy(kag.getLayerFromElm(mp,'src'),+mp.left,+mp.top,+mp.width,+mp.height,+mp.x1,+mp.y1,+mp.x2,+mp.y2,+mp.x3,+mp.y3,+mp.x4,+mp.y4)"
@endmacro
……みたいに書かれてます。
今回の参照はOUTFOCUSさんのperspective.dllに関する記述からです。いつも大変お世話になっております。
これをTJSで使用するように解読すると……
kag.getLayerFromElm(%['layer'=>'layer_dest', 'page'=>'page_dest','prefix'=>'dest']).perspectiveCopy(kag.getLayerFromElm(%['layer'=>'layer_src', 'page'=>'page_src','prefix'=>'src']),left,top,width,height,x1,y1,x2,y2,x3,y3,x4,y4)
layer_dest = コピー先レイヤーno
page_dest = コピー先ページ fore/back
layer_src = コピー元レイヤーno
page_src = コピー元ページ fore/back
left = ソースの基点座標X(通常0)
top = ソースの基点座標Y(通常0)
width = ソースの基点座標から数えた幅
height = ソースの基点座標から数えた高さ
x1 = コピー先の基点座標X
y1 = コピー先の基点座標Y
x2 = コピー先の右上座標X
y2 = コピー先の右上座標Y
x3 = コピー先の左下座標X
y3 = コピー先の左下座標Y
x4 = コピー先の右下座標X
y4 = コピー先の右下座標Y
こんな感じです。あとはそれぞれの数値を入れ込むと遠近法のように画像が変形します。
スポンサーサイト