SWFBitmap::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFBitmap::__constructCharge un objet Bitmap

Description

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

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.

Liste de paramètres

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.

Exemples

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

LoadingChargement en cours