スポンサード リンク

サンプルスクリプト/ロゴの追加(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はロゴの座標

使用方法

  1. スクリプト内の「ロゴ画像のパス」を追加したいロゴ画像のパスに変更します。
  2. ロゴの位置を決定するために、xとyの値を入力します。よくわからない場合は、とりあえず0に設定して、あとでプレビューしながら調整するといいでしょう。
  3. 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の場合。

今回、使用したフィルタ

関連ページ


*1 添付されている画像はPNGフォーマットですが、実際に使用したのはBMPフォーマットの画像です。

最終更新日時: 2014-03-11 (火) 03:51:16

スポンサード リンク