SWFBitmap::__construct

(PHP 5 < 5.3.0, PECL ming SVN)

SWFBitmap::__constructCarga un objeto de mapa de bits

Descripción

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

Esta función ha sido declarada EXPERIMENTAL. Su funcionamiento, nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Utilícela bajo su propia responsabilidad.

Crea un nuevo objeto SWFBitmap desde el archivo dado por file.

Parámetros

Para amabos parámetros, se puede proporcionar un puntero a archivo devuelto por fopen() o la información de imagen, como cadena binaria.

file

Nota:

Sólo podemos tratar con jpegs de línea base (fotograma 0), ¡sin línea base optimizada ni jpegs de escaneo progresivo!

No se pueden importar imágenes png directamente, aunque se tiene que usar la utilidad png2dbl para hacer un archivo dbl ("define bits lossless") desde el png. La razón de esto es que no quiero una dependencia de la biblioteca png en ming- autoconf debería resolver esto, pero todavía no está configurado.

alphafile

Un archivo MSK a usar como máscara alfa para una imagen JPEG.

Ejemplos

Ejemplo #1 Importar un archivo 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();
?>

Ejemplo #2 Usar una máscara alfa

<?php

$s 
= new SWFShape();

// archivo .msk generado con la utilidad "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);

// dibujar un fondo de tablero de ajedrez
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();
?>