SWFBitmap::__construct

(PHP 5 < 5.3.0, PECL ming SVN)

SWFBitmap::__constructLoads Bitmap object

Descrierea

SWFBitmap::__construct ( mixed $file [, mixed $alphafile ] )
Avertizare

Această funcție este EXPERIMENTALĂ. Comportamentul acestei funcții, denumirea sa și orice alte aspecte documentate în privința acestei funcții pot să fie modificate fără preaviz într-o versiune viitoare a PHP. Utilizați această funcție la propriul risc.

Creates the new SWFBitmap object from the given file.

Parametri

For both parameters you can provide a file pointer returned by fopen() or the image data, as a binary string.

file

Notă:

We can only deal with baseline (frame 0) jpegs, no baseline optimized or progressive scan jpegs!

You can't import png images directly, though- have to use the png2dbl utility to make a dbl ("define bits lossless") file from the png. The reason for this is that I don't want a dependency on the png library in ming- autoconf should solve this, but that's not set up yet.

alphafile

An MSK file to be used as an alpha mask for a JPEG image.

Exemple

Example #1 Importing a DBL file

<?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();
?>

Example #2 Using an alpha mask

<?php

$s 
= new SWFShape();

// .msk file generated with "gif2mask" utility
$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);

// draw checkerboard background
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();
?>