 |
(PHP
4 >= 4.0.5) SWFBitmap - загружает Bitmap-объект. Описаниеnew
swfbitmap (string filename [, int alphafilename]) | Предупреждение! |
|---|
Эта
функция - ЭКСПЕРИМЕНТАЛЬНАЯ. Поведение, имя и всё остальное, что задокументировано
для данной функции может быть изменено в будущих релизах РНР без предупреждения.
Вы можете использовать эту функцию только на свой страх и риск. |
swfbitmap()
создаёт новый SWFBitmap-объект из Jpeg или DBL файла filename. alphafilename
указывает на MSK-файл, используемый как альфа-маска для Jpeg-изображения. Примечание:
мы можем работать только с baseline (frame 0) jpegs, неоптимизированными baseline
или progressive scan jpegs!
SWFBitmap имеет следующие методы:
swfbitmap->getwidth() и swfbitmap->getheight(). Вы
не можете импортировать png-изображения напрямую, а должны использовать утилиту
png2dbl для создания dbl-файла ("define bits lossless") из png. Смысл этого в
том, что нам не нужна зависимость от png-библиотеки в ming - autoconf должен разрешить
это, но это ещё не готово.
Пример 1. Импортирование PNG-файлов
<?php $s = new SWFShape(); $f = $s->addFill(new SWFBitmap("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();
?> |
|
И вы можете поместить alpha-маску
на jpeg fill. Пример
2. swfbitmap()<?php
$s = new SWFShape(); // .msk файл, сгенерированный утилитой "gif2mask" $f = $s->addFill(new
SWFBitmap("alphafill.jpg", "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); // рисует checkerboard-фон 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();
?> |
|
|  |