SWFBitmap
(PHP 4 >= 4.0.5)
SWFBitmap -- ビットマップオブジェクトをロードする
説明
SWFBitmap
swfbitmap ( mixed file [, mixed alphafile] )
警告 |
この関数は、
実験的 なものです。この関数の動作・
名前・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP
のリリースにおいて変更される可能性があります。
この関数は自己責任で使用してください。 |
swfbitmap() は、file
で指定した Jpeg あるいは DBL ファイルから新規 SWFBitmap オブジェクトを
作成します。alphafile は、Jpeg 画像の
アルファマスクとして使用される MSK ファイルです。これらのパラメータは、
fopen() のリソースあるいはバイナリ文字列です。
注意:
baseline (frame 0) jpeg にのみ対応しています。baseline を最適化した
jpeg やプログレッシブ jpeg には対応していません!
SWFBitmap は以下のメソッドを保持しています。swfbitmap->getwidth()
および swfbitmap->getheight()
png 画像を直接読み込むことはできません。png2dbl を使用して、png から
dbl ("define bits lossless") ファイルを作成する必要があります。
この理由は、ming に png ライブラリの依存性を持ち込みたくないからです。
これは autoconf が解決すべき問題ですが、いまのところ解決されていません。
例 1. PNG ファイルのインポート
<?php $s = new SWFShape(); $f = $s->addFill(new SWFBitmap(file_get_contents("png.dbl"))); $s->setRightFill($f);
$s->drawLine(32, 0); $s->drawLine(0, 32); $s->drawLine(-32, 0); $s->drawLine(0, -32);
$m = new SWFMovie(); $m->setDimension(32, 32); $m->add($s);
header('Content-type: application/x-shockwave-flash'); $m->output(); ?>
|
|
また、jpeg にアルファマスクを設定することが可能です。
例 2. swfbitmap() の例
<?php
$s = new SWFShape();
// .msk ファイルは "gif2mask" ユーティリティで作成します $f = $s->addFill(new SWFBitmap(file_get_contents("alphafill.jpg"), file_get_contents("alphafill.msk"))); $s->setRightFill($f);
$s->drawLine(640, 0); $s->drawLine(0, 480); $s->drawLine(-640, 0); $s->drawLine(0, -480);
$c = new SWFShape(); $c->setRightFill($c->addFill(0x99, 0x99, 0x99)); $c->drawLine(40, 0); $c->drawLine(0, 40); $c->drawLine(-40, 0); $c->drawLine(0, -40);
$m = new SWFMovie(); $m->setDimension(640, 480); $m->setBackground(0xcc, 0xcc, 0xcc);
// チェッカー盤の背景を描きます for ($y=0; $y<480; $y+=40) { for ($x=0; $x<640; $x+=80) { $i = $m->add($c); $i->moveTo($x, $y); }
$y+=40;
for ($x=40; $x<640; $x+=80) { $i = $m->add($c); $i->moveTo($x, $y); } }
$m->add($s);
header('Content-type: application/x-shockwave-flash'); $m->output(); ?>
|
|