無料動画編集ソフト「AviUtl」のWiki

lua.txtの内容

関数obj.drawpoly(x0,y0,z0,x1,y1,z1,x2,y2,z2,x3,y3,z3[,u0,v0,u1,v1,u2,v2,u3,v3,alpha])
解説現在のオブジェクトの任意部分を任意の四角形で描画します。メディアオブジェクトのみ使用出来ます。
※内角が全て180度以下の平面以外は正しく描画されません。
※頂点0から3が時計回りになる面が表面になります。
※obj.drawpoly()を使用した場合スクリプト以降のフィルタ効果は実行されません。
引数x0,y0,z0四角形の頂点0の座標
x1,y1,z1四角形の頂点1の座標
x2,y2,z2四角形の頂点2の座標
x3,y3,z3四角形の頂点3の座標
u0,v0頂点0に対応するオブジェクトの画像の座標
u1,v1頂点1に対応するオブジェクトの画像の座標
u2,v2頂点2に対応するオブジェクトの画像の座標
u3,v3頂点3に対応するオブジェクトの画像の座標
obj.drawpoly(-50,-50,0, 50,-50,0, 50,50,0, -50,50,0, 0,0, obj.w,0, obj.w,obj.h, 0,obj.h)

解説

obj.drawpoly関数は、現在objテーブルに読み込まれているオブジェクトを、
指定した場所で切り出して、指定した4点に引き伸ばして描画します。

引数は、前半4点の座標(x,y,z)と後半4点の座標(u,v)に分けることが出来ます。
前半の4点は、どの位置にどんな形状で描画するかを指定します。
後半の4点は、元の画像(objテーブルで読み込まれているオブジェクト)のどこを切り取るかを指定します。
obj.drawpoly(
   --AviUtl上の座標
   x0,y0,z0,
   x1,y1,z1,
   x2,y2,z2,
   x3,y3,z3,

   --画像上の座標
   u0,v0,
   u1,v1,
   u2,v2,
   u3,v3,

   --透明度
   alpha
)

描画

前半の引数(x,y,z)
前半の4点は、どの位置に描画するかをAviUtl上の座標で指定します。
必ずしも長方形である必要はなく、いびつな形状の四角形であっても問題ありません。
ただし、内角が1つでも180度を超えると、正しく描画されません。
  • x0,y0,z0: 左上の座標
  • x1,y1,z1: 右上の座標
  • x2,y2,z2: 右下の座標
  • x3,y3,z3: 左下の座標

obj.drawpoly(10,-200,0, 200,-150,0, 500,200,0, -500,100,0, 0,0, obj.w,0, obj.w,obj.h, 0,obj.h)

後半の引数(u,v)
後半の4点は、元の画像(objテーブルで読み込まれているオブジェクト)のどこを切り取るかを指定します。
ここで切り取った範囲が、前半の引数で指定した四角形に貼り付けられます。
※省略した場合は、元画像全体を切り取ります。
  • u0,v0: 左上の座標
  • u1,v1: 右上の座標
  • u2,v2: 右下の座標
  • u3,v3: 左下の座標

なお、AviUtlの座標軸と異なり、左上が(0,0)であることに注意が必要です。

--真っ白な四角形を描画する場合
obj.load("figure", "四角形", 0xffffff, 1)
obj.drawpoly(10,-200,0, 200,-150,0, 500,200,0, -500,100,0, 0,0, obj.w,0, obj.w,obj.h, 0,obj.h)


--画像を読み込む場合
local img = obj.getinfo("script_path").."img.jpg" --画像の場所を指定

obj.load("image", img)
obj.drawpoly(10,-200,0, 200,-150,0, 500,200,0, -500,100,0, 0,0, obj.w,0, obj.w,obj.h, 0,obj.h)


--画像の一部(左上の500x500の正方形)を切り取る場合
local img = obj.getinfo("script_path").."img.jpg" --画像の場所を指定

obj.load("image", img)
obj.drawpoly(10,-200,0, 200,-150,0, 500,200,0, -500,100,0, 0,0, 500,0, 500,500, 0,500)

透明度
最後の引数「alpha」で透明度を指定することが出来ます
0.0:透明 / 1.0:不透明

コメントをかく


利用規約をご確認のうえご記入下さい

紹介掲示板

フリーエリア

ここに管理者がHTMLやJavascriptを記述することができます。
ここに貼るアイテムを思い付いた人は管理者までご連絡ください。

どなたでも編集できます