« 【よみもの】もーりおのつぶやき 第19回 | メイン | HSPTV!メルマガ 第51号 »
2007年10月16日
【講座】HSP3ワンポイントテクニック 第26回
このコーナーでは、HSP3の変わった使用例や、気付きにくい機能
などを紹介していきたいと思います。
前回に引き続き、HSP3.1から追加されたhspcvプラグインの、
強力で面白い命令を紹介していきたいと思います。
画像ファイルの読み書きを、色々な形式で行なうことができると
いう紹介をしましたが、今回は一歩進んで動画(ムービー)ファイル
を扱ってみたいと思います。
ムービー関係は、Windowsの中でも扱いが複雑で手のかかる分野
の1つですが、hspcvでは、ごく簡単な方法でムービーファイルの
作成を行なうことができます。
#include "hspcv.as"
cvload "bgsamp.jpg",0
cvbuffer 1,640,480
cvmakeavi "test.avi",,,1
repeat 360
cvcopy 0,0,0,1
cvrotate cnt,1,0,0,,1
cvputavi
cvgetimg 1
redraw
await 0
loop
cvendavi
dialog "動画を保存しました。"
end
上の例では、「bgsamp.jpg」というファイル(sample以下の
hspcvフォルダに入っている画像ファイルです)を読み込んで
回転させたものを360フレーム分の動画として保存して
います。
このスクリプトを実行すると、ムービー(aviファイル)の
形式を選択するダイアログが表示されます。ここで、動画の
形式(コーデック)を選択すれば、それをもとに画像を圧縮する
ことになります。
生成された「test.avi」というファイルは、メディアプレイヤー
を始めとするツールで再生することができます。
つまり、HSPで作成した画面をそのまま動画データに変換する
ことができるわけです。使い道は、人それぞれですが、色々な
分野に応用できるのではないでしょうか。
コーデックを最初から固定して使用する場合には、cvmakeavi
命令のパラメーター2にfourccコードを指定します。
たとえば、ポビュラーなDivxコーデックを使用する場合は、
cvmakeavi "test.avi",$58564944,,1
のように指定すれば、Divxの標準的なプロファイルが使用
され、ムービーが作成されます。
fourccコードというのは、少し難しい話になりますが、
コーデックごとに用意されている4つの文字コードを
整数値に直したものです。
Divxのfourcc、'D','I','V','X'という文字列であれば、
それぞれの文字コードである$44,$49,$56,$58を逆順にして、
つなげれば整数値として使用できます。
(ちなみに、wmvのaviコーデックは、'W','M','V','3'。
Xvidは、'X','V','I','D'になります。)
まだまだhspcvには、色々な機能がありますので、皆さんも是非、
新機能を試してみてください。ではでは、また。
(おにたま)
投稿者 usuaji : 2007年10月16日 09:32
口臭チェッカー市場