文字

SWFBitmap::__construct

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFBitmap::__constructLoads Bitmap object

说明

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

此函数是实验性的。此函数的表象,包括名称及其相关文档都可能在未来的 PHP 发布版本中未通知就被修改。使用本函数风险自担 。

Creates the new SWFBitmap object from the given file.

参数

For both parameters you can provide a file pointer returned by fopen() or the image data, as a binary string.

file

Note:

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

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.

alphafile

An MSK file to be used as an alpha mask for a JPEG image.

范例

Example #1 Importing a DBL file

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

Example #2 Using an alpha mask

<?php

$s 
= new  SWFShape ();

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

// 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 ();
?>
上一篇: 下一篇: