PHP Manual
Prev |  | Next

# SWFBitmap

(PHP 4 >= 4.0.5)

SWFBitmap -- Loads Bitmap object

## Description

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

Warning
This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change in a future release of PHP without notice. Be warned and use this function at your own risk.

swfbitmap() creates a new SWFBitmap object from the Jpeg or DBL file named `filename`. `alphafilename` indicates a MSK file to be used as an alpha mask for a Jpeg image.

> Note: We can only deal with baseline (frame 0) jpegs, no baseline optimized or progressive scan jpegs!

SWFBitmap has the following methods : swfbitmap->getwidth() and swfbitmap->getheight().

You can't import png images directly, though- have to use the png2dbl utility to make a dbl ("define bits lossless") file from the png. The reason for this is that I don't want a dependency on the png library in ming- autoconf should solve this, but that's not set up yet.

Example 1. Import PNG files
    <?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();
    ?>

And you can put an alpha mask on a jpeg fill.

Example 2. swfbitmap() example
    <?php

      $s = new SWFShape();

      // .msk file generated with "gif2mask" utility
      $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);

      // draw checkerboard background
      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();
    ?>

Prev | Home | Next
SWFGradient->addEntry | Up | SWFBitmap->getWidth