mojimoji 関数: テキストの移動と拡大縮小
SubtitleとAnimateを組み合わせてテキストを移動させるでは、Subtitle と Animate を組み合わせて、テキストを移動させたり、拡大縮小させたりする方法を紹介しました。
その方法では引数の指定が面倒だったので、今回、これを関数化してみました。名付けて、mojimoji 関数。
ダウンロード
mojimoji_20080408.zip - Windows Live (2008-04-08 更新)
シンタックス
mojimoji
mojimoji(clip input, string moji, int start, int end, int x1, int y1, int "x2", int "y2", int "size", \ string "font", int "text_color", int "halo_color", int "size2", int "lsp")
mojimojiOvr
mojimojiOvr(clip input, string moji, string "fx", string "fy", string "fopacity", string "fzoom", \ int "size", string "font", int "text_color", int "halo_color", int "x", int "y", float "opacity")
パラメータ
共通
- input: ビデオクリップ。
- moji: 表示するテキスト。
- size: テキストの標準サイズ。
- font: 使用するフォント。
- text_color: テキストの色。
- halo_color: テキストの縁の色。
mojimoji のみ
- start: 開始フレーム。
- end: 終了フレーム。
- x1: start 時点におけるテキストの x 座標。
- y1: start 時点におけるテキストの y 座標。
- x2: end 時点におけるテキストの x 座標。
- y2: end 時点におけるテキストの y 座標。
- size2: end 時点におけるテキストのサイズ。拡大縮小時のみ指定。
- lsp: 行間の高さ。Subtitle の同名パラメータに相当。
mojimojiOvr のみ
- fx: Overlay フィルタの ol_x_offset を定義した ConditionalReader 形式のファイル。
- fy: Overlay フィルタの ol_y_offset を定義した ConditionalReader 形式のファイル。
- fopacity: Overlay フィルタの ol_opacity_offset を定義した ConditionalReader 形式のファイル。
- fzoom: 文字サイズを定義した ConditionalReader 形式のファイル。
- x: テキストの x 座標。fx を使わず、位置を固定したい場合に指定。
- y: テキストの y 座標。fy を使わず、位置を固定したい場合に指定。
- opacity: 不透明度。fopacity を使わず、不透明度を固定したい場合に指定。
mojimoji.avs 内で設定可能な global 変数
mojimoji.avs の中で、以下の global 変数の値を設定/変更することができます。
# デフォルト値の指定 global mojimoji_text_color = $000000 # フォントの色 global mojimoji_halo_color = $EFEFEF # 文字の縁、および、文字を重ねるクリップの背景色 global mojimoji_font = "MS Pゴシック" # フォント global mojimoji_size = 18 # フォントの大きさ global mojimoji_lsp = 0 # 複数行表示時の行間の大きさ(-1 なら常に 1 行として扱う) global mojimoji_mask_tolerance = 10 # マスクの許容度(大きくするほど、より多くの色を透過色とみなす)
font_color, halo_color, font, size, lsp を省略した場合には、上の 4 つの値がそれぞれ適用されます。最後の mojimoji_mask_tolerance は同じ色とみなす許容範囲を指定する。ColorKeyMask の tolerance パラメータに相当。
使用例
mojimoji
# 関数定義ファイルのインポート Import("mojimoji.avs") # ソースクリップ BlankClip(100, 320, 240, fps=15, color=mojimoji_halo_color) # 右から左へ mojimoji(" ∧∧\n ┃ ┏━┃ (,,゚∀゚) ┃┃\n ━┏┛ ┏━┃ ━━/ つ━━┛ .┃┃\n ━┏┛ ┛ ┃ 〜( ,ノつ ┛┛\n ┛ ┛ (/ .┛┛", 0,24, 320,80, -320,80) # 下から上へ mojimoji(" ∧∧\n ┃ ┏━┃ (,,゚∀゚) ┃┃\n ━┏┛ ┏━┃ ━━/ つ━━┛ .┃┃\n ━┏┛ ┛ ┃ 〜( ,ノつ ┛┛\n ┛ ┛ (/ .┛┛", 25,49, 0,240, 0,-240) # 拡大 mojimoji(" ∧∧\n ┃ ┏━┃ (,,゚∀゚) ┃┃\n ━┏┛ ┏━┃ ━━/ つ━━┛ .┃┃\n ━┏┛ ┛ ┃ 〜( ,ノつ ┛┛\n ┛ ┛ (/ .┛┛", 50,98, 150,120, -400,-40, 1, size2=64)
mojimojiOvr
# 関数定義ファイルのインポート Import("mojimoji.avs") # ソースクリップ BlankClip(100, 320, 240, fps=15, color=mojimoji_halo_color) # mojimojiOvr 関数 mojimojiOvr("キタ━(゚∀゚)━!", "xoffset.txt", "yoffset.txt", "opacity.txt", "zoom.txt")
※注: "xoffset.txt", "yoffset.txt", "opacity.txt", "zoom.txt" は、サンプルとして mojimoji.avs に同梱されています。
zoome動画: mojimoji.avs サンプル動画 2: mojimojiOvr - niiyan X zoome
更新履歴
- 2005-10-22: 初版。
- 2007-10-23: ZIP 形式で圧縮したものに差し替え。内容は変更なし。
- 2008-04-08: 変更点については、mojimoji 関数を更新を参照。