(PHP 5 <= 5.3.0, PECL ming SVN)
Loads Bitmap object
SWFBitmap::__construct ( mixed $file [, mixed $alphafile ] )
Creates the new SWFBitmap object from the given file
.
Parameters:
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.
This function is EXPERIMENTAL. The behaviour of this function, its name, and surrounding documentation may change without notice in a future release of PHP. This function should be used at your own risk.
Examples:
Importing a DBL file
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?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(); ?> |
Using an alpha mask
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | <?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(); ?> |
Please login to continue.