SWFBitmap::__construct

(PHP 5 < 5.3.0, PECL ming SVN)

SWFBitmap::__constructЗагружает объект Bitmap

Описание

SWFBitmap::__construct ( mixed $file [, mixed $alphafile ] )
Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Создает новый объект SWFBitmap из переданного параметра file.

Список параметров

Для обоих параметров можно указать файловый указатель, возвращаемый функцией fopen(), или данные изображения в виде двоичной строки.

file

Замечание:

Мы можем работать только с исходными jpeg-изображениями (кадр 0), без исходных неоптимизированных jpeg-изображениями или прогрессивной разверткой!

Вы не можете импортировать изображения в формате png напрямую, однако, вам нужно использовать утилиту png2dbl для создания файла dbl ("define bits lossless") из png. Причина этого в том, что я не хочу, чтобы зависимость png в ming - autoconf разрешило это, но это еще не установлено.

alphafile

Файл MSK, который будет использоваться в качестве альфа-маски для JPEG-изображения.

Примеры

Пример #1 Импортирование DBL-файла

<?php
$s 
= new SWFShape();
$f $s->addFill(new SWFBitmap(file_get_contents("image.dbl")));
$s->setRightFill($f);

$s->drawLine(320);
$s->drawLine(032);
$s->drawLine(-320);
$s->drawLine(0, -32);

$m = new SWFMovie();
$m->setDimension(3232);
$m->add($s);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>

Пример #2 Использование альфа-маски

<?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(6400);
$s->drawLine(0480);
$s->drawLine(-6400);
$s->drawLine(0, -480);

$c = new SWFShape();
$c->setRightFill($c->addFill(0x990x990x99));
$c->drawLine(400);
$c->drawLine(040);
$c->drawLine(-400);
$c->drawLine(0, -40);

$m = new SWFMovie();
$m->setDimension(640480);
$m->setBackground(0xcc0xcc0xcc);

// нарисовать фон шахматной доски
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();
?>