文字

SWFShape::setLine

(PHP 5 <= 5.3.0, PECL ming SVN)

SWFShape::setLineSets the shape's line style

说明

void SWFShape::setLine ( SWFShape $shape )
void setLine ( int $width , int $red , int $green , int $blue [, int $a ] )
Warning

此函数是实验性的。此函数的表象,包括名称及其相关文档都可能在未来的 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.

上一篇: 下一篇: