(PHP 5 <= 5.3.0, PECL ming SVN)
SWFBitmap::__construct — Carga un objeto de mapa de bits
Esta función ha sido declarada EXPERIMENTAL. Su comportamiento, su nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Use esta función bajo su propio riesgo.
Crea un nuevo objeto SWFBitmap desde el
archivo dado por file
.
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.
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(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();
?>
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(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);
// 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();
?>