SWFBitmap
Оглавление
(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();
?> |
|
Оглавление