Adds a solid fill to the shape

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFShape::addFillAdds a solid fill to the shape


SWFFill SWFShape::addFill ( int $red , int $green , int $blue [, int $alpha = 255 ] )
SWFFill addFill ( SWFBitmap $bitmap [, int $flags ] )
SWFFill addFill ( SWFGradient $gradient [, int $flags ] )

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

SWFShape::addFill() adds a solid fill to the shape's list of fill styles. SWFShape::addFill() accepts three different types of arguments.

red, green, blue is a color (RGB mode).

The bitmap argument is an SWFBitmap() object. The flags argument can be one of the following values: SWFFILL_CLIPPED_BITMAP, SWFFILL_TILED_BITMAP, SWFFILL_LINEAR_GRADIENT or SWFFILL_RADIAL_GRADIENT. Default is SWFFILL_TILED_BITMAP for SWFBitmap and SWFFILL_LINEAR_GRADIENT for SWFGradient.

The gradient argument is an SWFGradient() object. The flags argument can be one of the following values : SWFFILL_RADIAL_GRADIENT or SWFFILL_LINEAR_GRADIENT. Default is SWFFILL_LINEAR_GRADIENT. I'm sure about this one. Really.

SWFShape::addFill() returns an SWFFill() object for use with the SWFShape::setLeftFill() and SWFShape::setRightFill() functions described below.


This simple example will draw a frame on a bitmap. Ah, here's another buglet in the flash player- it doesn't seem to care about the second shape's bitmap's transformation in a morph. According to spec, the bitmap should stretch along with the shape in this example..

Пример #1 SWFShape::addFill() example


= new SWFMorph();

$b = new SWFBitmap(file_get_contents("alphafill.jpg"));
// use your own bitmap
$width $b->getWidth();
$height $b->getHeight();

$s $p->getShape1();
$f $s->addFill($bSWFFILL_TILED_BITMAP);
$f->moveTo(-$width/2, -$height/4);
$s->movePenTo(-$width/2, -$height/4);
$s->drawLine(0, -$height/2);

$s $p->getShape2();
$f $s->addFill($bSWFFILL_TILED_BITMAP);

// these two have no effect!
$f->moveTo(-$width/4, -$height/2);

$s->movePenTo(-$width/4, -$height/2);
$s->drawLine(0, -$height);

$m = new SWFMovie();
$i $m->add($p);

for (
$n=0$n<1.001$n+=0.03) {

header('Content-type: application/x-shockwave-flash');

Смотрите также