Manuel PHP
Précédent |  | Suivant

# SWFBitmap

(PHP 4 >= 4.0.5)

SWFBitmap -- Crée un objet bitmap

## Description

``new swfbitmap` (string filename [, int alphafilename])`

swfbitmap() crée un objet bitmap à partir d'un fichier JPEG ou DBL, nommé `filename`. `alphafilename` indique un fichier de masque à utiliser comme canal alpha sur une image JPEG.

> Note : Seule les JPEG baseline (frame 0) sont supportés. Les baseline optimisée ou les JPEG progressives ne sont pas supportées.

SWFBitmap a les méthodes suivantes : swfbitmap->getwidth() et swfbitmap->getheight().

Il n'est pas possible d'importer directement des images PNG, il faut utiliser l'utilitaire de conversion `png2dbl` pour en faire un fichier .dbl ("define bits lossless"). La raison est que l'auteur ne souhaite pas de dépendance avec la librairie PNG. Le fichier d'autoconfiguration devrait régler ce problème, mais il n'est pas encore fait.

Exemple 1. Importation de fichiers PNG sous Ming
    <?php
      $s = new SWFShape();
      $f = $s->addFill(new SWFBitmap("png.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();
    ?>

Et vous pouvez ajouter un masque alpha sur une image JPEG.

Exemple 2. Exemple avec swfbitmap()
    <?php
      $s = new SWFShape();
      //les fichiers .msk sont générés par l'utilitaire "gif2mask"
      $f = $s->addFill(new SWFBitmap("alphafill.jpg", "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);
      // décide un fond à damier
      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();
    ?>

Précédent | Sommaire | Suivant
SWFGradient->addEntry | Niveau supérieur | SWFBitmap->getWidth