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.
SWFShape::setLine
(PHP 4 >= 4.0.5)
SWFShape::setLine — Définit le style de la forme d'une ligne
Description
$width
, int $red
, int $green
, int $blue
[, int $a
] )Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.
swfshape::setline() définit le style de la forme d'une ligne.
width est l'épaisseur de la ligne. Si width
vaut 0, le style de la ligne est effacé (alors, tous les autres arguments sont ignorés).
Si width est supérieur à 0, alors la couleur de la ligne est
définie à red, green,
blue. Le dernier paramètre, a,
est optionnel.
Vous devez déclarer tous les styles de ligne avant de les utiliser (voir l'exemple).
Valeurs de retour
Aucune valeur n'est retournée.
Exemples
Cet exemple simple va dessiner un gros "!#%*@".
Exemple #1 Exemple avec swfshape::setline()
<?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);
// bogue : nous devons déclarer tous les styles de ligne avant de les utiliser
$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();
?>
Valeurs de retour
Aucune valeur n'est retournée.
