(no version information, might be only in CVS)
SWFShape->addFill -- Adds a solid fill to the shape
Description
SWFFill
SWFShape->addFill ( int red, int green, int blue [, int a] )
SWFFill
SWFShape->addFill ( SWFBitmap bitmap [, int flags] )
SWFFill
SWFShape->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). Last parameter a is optional.
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
<?php
$p
= 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
(
$b
,
SWFFILL_TILED_BITMAP
);
$f
->
moveTo
(-
$width
/
2
, -
$height
/
4
);
$f
->
scaleTo
(
1.0
,
0.5
);
$s
->
setLeftFill
(
$f
);
$s
->
movePenTo
(-
$width
/
2
, -
$height
/
4
);
$s
->
drawLine
(
$width
,
0
);
$s
->
drawLine
(
0
,
$height
/
2
);
$s
->
drawLine
(-
$width
,
0
);
$s
->
drawLine
(
0
, -
$height
/
2
);
$s
=
$p
->
getShape2
();
$f
=
$s
->
addFill
(
$b
,
SWFFILL_TILED_BITMAP
);
// these two have no effect!
$f
->
moveTo
(-
$width
/
4
, -
$height
/
2
);
$f
->
scaleTo
(
0.5
,
1.0
);
$s
->
setLeftFill
(
$f
);
$s
->
movePenTo
(-
$width
/
4
, -
$height
/
2
);
$s
->
drawLine
(
$width
/
2
,
0
);
$s
->
drawLine
(
0
,
$height
);
$s
->
drawLine
(-
$width
/
2
,
0
);
$s
->
drawLine
(
0
, -
$height
);
$m
= new
SWFMovie
();
$m
->
setDimension
(
$width
,
$height
);
$i
=
$m
->
add
(
$p
);
$i
->
moveTo
(
$width
/
2
,
$height
/
2
);
for (
$n
=
0
;
$n
<
1.001
;
$n
+=
0.03
) {
$i
->
setRatio
(
$n
);
$m
->
nextFrame
();
}
header
(
'Content-type: application/x-shockwave-flash'
);
$m
->
output
();
?>
|
|
Смотрите также
SWFShape->setLeftFill() and
SWFShape->setRightFill().