©
This document uses PHP Chinese website manual Release
(PHP 5 <= 5.3.0, PECL ming SVN)
SWFShape::setLine — Sets the shape's line style
$shape
)$width
, int $red
, int $green
, int $blue
[, int $a
] )此函数是实验性的。此函数的表象,包括名称及其相关文档都可能在未来的 PHP 发布版本中未通知就被修改。使用本函数风险自担 。
swfshape::setline() sets the shape's line style.
width
is the line's width. If width
is 0, the line's style is removed (then, all other arguments are ignored).
If width
> 0, then line's color is set to
red
, green
, blue
.
Last parameter a
is optional.
You must declare all line styles before you use them (see example).
没有返回值。
This simple example will draw a big "!#%*@", in funny colors and gracious style.
Example #1 swfshape::setline() example
<?php
$s = new SWFShape ();
$f1 = $s -> addFill ( 0xff , 0 , 0 );
$f2 = $s -> addFill ( 0xff , 0x7f , 0 );
$f3 = $s -> addFill ( 0xff , 0xff , 0 );
$f4 = $s -> addFill ( 0 , 0xff , 0 );
$f5 = $s -> addFill ( 0 , 0 , 0xff );
// bug: have to declare all line styles before you use them
$s -> setLine ( 40 , 0x7f , 0 , 0 );
$s -> setLine ( 40 , 0x7f , 0x3f , 0 );
$s -> setLine ( 40 , 0x7f , 0x7f , 0 );
$s -> setLine ( 40 , 0 , 0x7f , 0 );
$s -> setLine ( 40 , 0 , 0 , 0x7f );
$f = new SWFFont ( 'Techno.fdb' );
$s -> setRightFill ( $f1 );
$s -> setLine ( 40 , 0x7f , 0 , 0 );
$s -> drawGlyph ( $f , '!' );
$s -> movePen ( $f -> getWidth ( '!' ), 0 );
$s -> setRightFill ( $f2 );
$s -> setLine ( 40 , 0x7f , 0x3f , 0 );
$s -> drawGlyph ( $f , '#' );
$s -> movePen ( $f -> getWidth ( '#' ), 0 );
$s -> setRightFill ( $f3 );
$s -> setLine ( 40 , 0x7f , 0x7f , 0 );
$s -> drawGlyph ( $f , '%' );
$s -> movePen ( $f -> getWidth ( '%' ), 0 );
$s -> setRightFill ( $f4 );
$s -> setLine ( 40 , 0 , 0x7f , 0 );
$s -> drawGlyph ( $f , '*' );
$s -> movePen ( $f -> getWidth ( '*' ), 0 );
$s -> setRightFill ( $f5 );
$s -> setLine ( 40 , 0 , 0 , 0x7f );
$s -> drawGlyph ( $f , '@' );
$m = new SWFMovie ();
$m -> setDimension ( 3000 , 2000 );
$m -> setRate ( 12.0 );
$i = $m -> add ( $s );
$i -> moveTo ( 1500 - $f -> getWidth ( "!#%*@" )/ 2 , 1000 + $f -> getAscent ()/ 2 );
header ( 'Content-type: application/x-shockwave-flash' );
$m -> output ();
?>
没有返回值。
[#1] Brad [2011-10-04 12:27:11]
Just wanted to point out that a $width value of 0 does _not_ prevent the line from being drawn. It causes a non-scaling, single pixel line to be drawn. This is analogous to the way this is handled in ActionScript (see http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Graphics.html#lineStyle%28%29)
If you do not want a line to be drawn at all, use NAN for $width instead of zero.