サンプルスクリプト/ロゴの追加(1)
概要 †
Layerフィルタを使って、クリップの上にロゴ画像を重ねます。
Layerフィルタで2つのクリップを合成する場合、それら2つのクリップは、同じカラーフォーマットでなければなりません。このため下記のサンプルスクリプトでは、ソースクリップとロゴ画像を、RGB32またはYUY2のいずれかのカラーフォーマットに統一してから合成するようになっています。
RGB32版とYUY2版の違いは、RGB32とYUY2のどちらで処理を行うかという点だけです。
スクリプト †
RGB32版 †
IsRGB32() ? last : ConvertToRGB32() # ソースクリップがRGB32では"ない"場合は、RGB32に変換 logo = ImageSource("ロゴ画像のパス") # ロゴ画像の読み込み logo = ConvertToRGB32(logo) # logoをRGB32に変換 Layer(last, logo, "add", x=数値, y=数値, level=255) # x,yはロゴの座標
YUY2版 †
IsYUY2() ? last : ConvertToYUY2() # ソースクリップがYUY2では"ない"場合は、YUY2に変換 logo = ImageSource("ロゴ画像のパス") # ロゴ画像の読み込み logo = ConvertToYUY2(logo) # logoをYUY2に変換 Layer(last, logo, "add", x=数値, y=数値, level=255) # x,yはロゴの座標
使用方法 †
- スクリプト内の「ロゴ画像のパス」を追加したいロゴ画像のパスに変更します。
- ロゴの位置を決定するために、xとyの値を入力します。よくわからない場合は、とりあえず0に設定して、あとでプレビューしながら調整するといいでしょう。
- levelの値を調節することで、ロゴを半透明化することができます(使用例2: ロゴ画像の半透明化を参照)。
使用例1: 基本的な使い方 †
ロゴ画像 †
上の画像を、ソースクリップの上に追加します*1。
スクリプト例(RGB32の場合) †
ColorBars(320,240) # ソースクリップ #//--- ここからサンプルスクリプト ---// IsRGB32() ? last : ConvertToRGB32() # ソースクリップがRGB32では"ない"場合は、RGB32に変換 logo = ImageSource("C:\My Pictures\logo_square.png") # ロゴ画像の読み込み logo = ConvertToRGB32(logo) # logoをRGB32に変換 Layer(last, logo, "add", x=200, y=212, level=255) # x,yはロゴの座標 #//--- ここまでサンプルスクリプト ---// return last
ロゴ画像のパスとx, yの値のみ変更しています。
プレビュー画面 †
上記のスクリプトを実行したところ。
使用例2: ロゴ画像の半透明化 †
levelの値を調節することにより、ロゴ画像が表示される度合い(透明度)を調整することができます。
levelは、0から255までの整数値を取ります。levelの値が小さいほどロゴ画像は透明に近くなり、逆にlevelの値が大きいほどよりはっきりと表示されます。
スクリプト例(RGB32の場合) †
ColorBars(320,240) # ソースクリップ #//--- ここからサンプルスクリプト ---// IsRGB32() ? last : ConvertToRGB32() # ソースクリップがRGB32では"ない"場合は、RGB32に変換 logo = ImageSource("C:\My Pictures\logo_square.bmp") # ロゴ画像の読み込み logo = ConvertToRGB32(logo) # logoをRGB32に変換 Layer(last, logo, "add", x=200, y=200, level=200) # x,yはロゴの座標, level:0-255 #//--- ここまでサンプルスクリプト ---// return last
ロゴ画像のパスとx, yの値に加え、levelの値も変更しています。
プレビュー画面 †
level=200の場合。
今回、使用したフィルタ †
- Layer
- ImageSource
- ConvertToRGB32
- ConvertToYUY2
関連ページ †
最終更新日時: 2014-03-11 (火) 03:51:16 (3671d)