お知らせ: にーやんのブログ 2 に移転しました。こちらのブログは、2009 年末までに削除します。

スポンサード リンク

mojimoji 関数: テキストの移動と拡大縮小

SubtitleとAnimateを組み合わせてテキストを移動させるでは、Subtitle と Animate を組み合わせて、テキストを移動させたり、拡大縮小させたりする方法を紹介しました。

その方法では引数の指定が面倒だったので、今回、これを関数化してみました。名付けて、mojimoji 関数。

ダウンロード

mojimoji 関数のダウンロード(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)

zoome動画: mojimoji.avs サンプル動画 1: mojimoji - niiyan X zoome

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 形式で圧縮したものに差し替え。内容は変更なし。

スポンサード リンク

Recent entries from same category
TrackBack ping me at
Trackbacks
[ No TrackBack ]
Comments
[ No Comment ]
Post a comment

writeback message: Ready to post a comment.













Remember the above info?

Preview here...

  • [Preview]ボタンをクリックすると、コメント内容をプレビューすることができます(JavaScript使用)。
  • スパム対策としてリファラチェックを行っています。セキュリティソフトの設定でリファラを無効にしていると投稿できません。
  • エントリの内容と無関係と思われるコメントやトラックバックは削除されます。
  • 当ブログへの言及リンクがないトラックバックはブロックされます。