SWFBitmap::__construct

(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();
?>
doc_php
2016-02-24 16:03:38
Comments
Leave a Comment

Please login to continue.