©
This document uses PHP Chinese website manual Release
(PHP 5 <= 5.3.0, PECL ming SVN)
SWFBitmap::__construct — Loads Bitmap object
$file
[, mixed $alphafile
] )此函数是实验性的。此函数的表象,包括名称及其相关文档都可能在未来的 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 ();
?>