XLVIFlash 用 Ming 関数

導入

Ming は、SWF("Flash")フォーマットのムービーを作成するためのオープ ンソース(LGPL)のライブラリです。Ming は、シェープ、グラディエント、 ビットマップ(PNGおよびJPEG)、モーフィング、テキスト、ボタン、アク ション、スプライト("ムービークリップ")、mp3 のストリーム出力、色 変換といったFlash 4の機能のほとんど全てをサポートしています。現在、 未サポートなのは、サウンド関係のイベントのみです。

Ming は、短縮語ではありません。

長さ、距離、大きさ等を指定する値は全て "twips" つまり、20ユニット /ピクセル単位であることに注意して下さい。しかし、実際には、Flash プレイヤーがムービーをembed/object タグで指定したピクセルサイズま たはembedされていない場合はフレーム全体にスケーリングするため、任 意のサイズになります。

Ming は、既存の PHP/libswf モジュールに対して多くの点で優れていま す。Ming は、そのコードをコンパイルできる環境でならどこでも使用す ることが可能です。一方、libswf のソースコードは公開されておらず、 ごくわずかなプラットフォームでのみ利用可能です。Windowsは、libswf でサポートされるプラットフォームには入っていません。Ming は、ムー ビーの要素をPHPオブジェクト内に隠蔽することにより、SWFファイルフォー マットの細部を直接取り扱うことを回避しています。また、Ming はメン テナンスが継続されています。使用したい機能がある場合には、我々、 ming@opaque.net まで知らせ て下さい。

Ming は、PHP 4.0.5 で追加されました。

インストール

Ming を PHP で使用するには、まず、Ming ライブラリを構築し、インス トールする必要があります。ソースコードとインストール手引が、Ming のホームページ http://www.opaque.net/ming/ から入 手可能です。ここには、例や簡単なチュートリアル、最新のニュースも あります。

ming のアーカイブをダウンロードし、展開して下さい。Ming ディレク トリに移動し、make、make install を実行して下さい。

これにより、libming.so が構築され、 /usr/lib/ にインストールされます。また、 ming.h/usr/include/ にコピーされます。インストールされるディレクトリを変更するには、 MakefilePREFIX= の行 を編集して下さい。

PHP (unix) に組み込む


       mkdir <phpdir>/ext/ming 
       cp php_ext/* <phpdir>/ext/ming 
       cd <phpdir> 
       ./buildconf 
       ./configure --with-ming <other config options>
      

PHP を通常と同様に構築、インストールして下さい。必要ならば Web サーバを再起動して下さい。

PHP モジュールをインストールする (unix)

php_ming.so.gz をダウンロードして下さい。こ れを解凍し、PHPモジュール用ディレクトリにコピーして下さい。 (PHPモジュール用ディレクトリは、php-config --extension-dir を実行することにより見つけられます。 ここで、extension=php_ming.sophp.ini ファイルに追加するか、 dl('php_ming.so'); を全ての Ming スクリプトの 先頭に追加して下さい。

Mingの使用法

Ming は、PHP に13個の新規オブジェクトを追加します。これらは全て、 メソッドと属性を有しています。これらを使用するには、オブジェクト について知る必要があり ます。

目次
SWFMovie — SWFバージョン4ムービー形式で新規ムービーオブジェクトを作成する
SWFMovie->output — 作成したムービーを出力する
SWFMovie->save — ムービーをファイルに保存する
SWFMovie->add — ムービーにデータ型を追加する
SWFMovie->remove — 表示リストからオブジェクトのインスタンスを削除する
SWFMovie->setbackground — 背景色を設定する
SWFMovie->setrate — アニメーションのフレームレートを設定する
SWFMovie->setdimension — ムービーの幅と高さを設定する
SWFMovie->setframes — アニメーションの総フレーム数を設定する
SWFMovie->nextframe — アニメーションの次フレームに移動
SWFMovie->streammp3 — MP3 ファイルへのストリーム
SWFDisplayItem — 新規に displayitem オブジェクトを作成する
SWFDisplayItem->moveTo — グローバル座標系でオブジェクトを移動する
SWFDisplayItem->move — オブジェクトを相対座標系で移動する
SWFDisplayItem->scaleTo — グローバル座標系でオブジェクトを拡大縮小する
SWFDisplayItem->scale — 相対座標系でオブジェクトを拡大縮小する
SWFDisplayItem->rotateTo — グローバル座標系でオブジェクトを回転する
SWFDisplayItem->Rotate — 相対座標系で回転する
SWFDisplayItem->skewXTo — X-skewを設定する
SWFDisplayItem->skewX — X-skewに追加する
SWFDisplayItem->skewYTo — Y-skewを設定する
SWFDisplayItem->skewY — Y-skewに追加する
SWFDisplayItem->setDepth — z-orderを設定する
SWFDisplayItem->remove — ムービーからオブジェクトを削除する
SWFDisplayItem->setName — オブジェクトの名前を設定する
SWFDisplayItem->setRatio — オブジェクト比を設定する
SWFDisplayItem->addColor — このアイテムの色変換に指定した色を追加する
SWFDisplayItem->multColor — アイテムの色変換を乗算する
SWFShape — 新規に輪郭オブジェクトを作成する
SWFShape->setLine — 輪郭の線種を設定する
SWFShape->addFill — 塗りつぶし色をシェープに追加する
SWFShape->setLeftFill — 左ラスター色を設定する
SWFShape->setRightFill — 右ラスター色を設定する
SWFShape->movePenTo — シェープのペンを移動する
SWFShape->movePen — シェープのペンを(相対)移動する
SWFShape->drawLineTo — 線を画く
SWFShape->drawLine — 線を画く (相対座標)
SWFShape->drawCurveTo — 曲線を画く
SWFShape->drawCurve — 曲線を画く (相対座標)
SWFGradient — 傾きオブジェクトを作成する
SWFGradient->addEntry — 傾きリストにエントリを追加する
SWFBitmap — ビットマップオブジェクトをロードする
SWFBitmap->getWidth — ビットマップの幅を返す
SWFBitmap->getHeight — ビットマップの高さを返す
SWFFill — SWFFill オブジェクトをロードする
SWFFill->moveTo — 塗りつぶしの原点を移動する
SWFFill->scaleTo — 塗りつぶしの倍率を設定する
SWFFill->rotateTo — 塗りつぶしの回転を設定する
SWFFill->skewXTo — x-skewを設定する
SWFFill->skewYTo — y-skewを設定する
SWFMorph — 新規にSWFMorphオブジェクトを作成する
SWFMorph->getshape1 — 最初のシェープへのハンドルを得る
SWFMorph->getshape2 — 最後のシェープへのハンドルを得る
SWFMorph — 新規にSWFTextオブジェクトを作成する
SWFText->setFont — カレントのフォントを設定する
SWFText->setHeight — カレントのフォントの高さを設定する
SWFText->setSpacing — カレントのフォントの間隔を設定する
SWFText->setColor — カレントのフォント色を設定する
SWFText->moveTo — ペンを移動する
SWFText->addString — 文字列を画く
SWFText->getWidth — 文字列の幅を計算する
SWFFont — フォントの定義をロードする
getwidth — 文字列の幅を返す
SWFTextField — テキストフィールドのオブジェクトを作成する
SWFTextField->setFont — テキストフィールドフォントを設定する
SWFTextField->setbounds — テキストフィールドの幅と高さを設定する
SWFTextField->align — テキストフィールドのアライメントを設定する
SWFTextField->setHeight — 指定したテキストフィールドフォントの高さを設定する
SWFTextField->setLeftMargin — テキストフィールドの左マージン幅を設定する
SWFTextField->setrightMargin — キストフィールドの右マージン幅を設定する
SWFTextField->setMargins — テキストフィールドのマージン幅を設定する
SWFTextField->setindentation — 先頭行のインデントを設定する
SWFTextField->setLineSpacing — テキストフィールドの行間を設定する
SWFTextField->setcolor — テキストフィールドの色を設定する
SWFTextField->setname — 変数名を設定する
SWFTextField->addstring — 指定した文字列をテキストフィールドに結合する
SWFSprite — ムービークリップ(スプライト)を作成する
SWFSprite->add — オブジェクトをスプライトに追加する
SWFSprite->remove — オブジェクトをスプライトから削除する
SWFSprite->setframes — アニメーションの総フレーム数を設定する
SWFSprite->nextframe — アニメーションの次のフレームに移動する
SWFbutton — 新規ボタンを作成する
SWFbutton->addShape — ボタンにシェープを追加する
SWFbutton->setUp — addShape(shape, SWFBUTTON_UP)へのエイリアス
SWFbutton->setOver — addShape(shape, SWFBUTTON_OVER)へのエイリアス
SWFbutton->setHit — addShape(shape, SWFBUTTON_HIT)へのエイリアス
SWFbutton->setAction — アクションを設定する
SWFAction — 新規アクションを作成する