SWFBitmap

(PHP 4 = 4.0.5)

SWFBitmap -- Loads Bitmap object

Description

new swfbitmap ( string filename [, int alphafilename])

警告

這個函數是 實驗性質的。這個函數的行為、名稱、 和關於此函數的任何其他文件 在未來PHP的發行中可能會在不通知的情況下改變。 使用此延伸需自行承擔風險。

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.

注: 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.

範例 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.

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