(PHP 5 < 5.3.0, PECL ming SVN)
SWFBitmap::__construct — Charge un objet Bitmap
Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.
Crée un nouvel objet SWFBitmap depuis le fichier
file
.
Pour les deux paramètres, vous pouvez fournir un pointeur de fichier retourné par la fonction fopen() ou les données de l'image, sous la forme d'une chaîne de caractères binaire.
file
Note:
Nous ne pouvons utiliser que des Jpeg "baseline" (image 0), et non des optimisés "baseline" ou des Jpeg progressifs !
Vous ne pouvez pas importer directement des Png, mais vous devez utiliser l'utilitaire png2dbl pour créer un fichier dbl ("define bits lossless") depuis le Png. La raison de cela est que nous ne voulons pas de dépendance sur la libraire Png dans Ming. Autoconf doit prendre en charge cela mais ne le fait actuellement pas.
alphafile
Un fichier MSK à utiliser en tant que masque Alpha pour les images Jpeg.
Exemple #1 Importation d'un fichier 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();
?>
Exemple #2 Utilisation d'un masque Alpha
<?php
$s = new SWFShape();
// fichier .msk généré avec l'utilitaire "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);
// dessine l'arrière plan
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();
?>