(PHP 5 <= 5.3.0, PECL ming SVN)
SWFMorph->__construct — Creates a new SWFMorph object
Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.
Creates a new SWFMorph object.
Also called a "shape tween". This thing lets you make those tacky twisting things that make your computer choke. Oh, joy!
This simple example will morph a big red square into a smaller blue black-bordered square.
Beispiel #1 swfmorph() example
<?php
  $p = new SWFMorph();
  $s = $p->getShape1();
  $s->setLine(0, 0, 0, 0);
  /* Note that this is backwards from normal shapes (left instead of right).
     I have no idea why, but this seems to work.. */
  $s->setLeftFill($s->addFill(0xff, 0, 0));
  $s->movePenTo(-1000,-1000);
  $s->drawLine(2000,0);
  $s->drawLine(0,2000);
  $s->drawLine(-2000,0);
  $s->drawLine(0,-2000);
  $s = $p->getShape2();
  $s->setLine(60,0,0,0);
  $s->setLeftFill($s->addFill(0, 0, 0xff));
  $s->movePenTo(0,-1000);
  $s->drawLine(1000,1000);
  $s->drawLine(-1000,1000);
  $s->drawLine(-1000,-1000);
  $s->drawLine(1000,-1000);
  $m = new SWFMovie();
  $m->setDimension(3000,2000);
  $m->setBackground(0xff, 0xff, 0xff);
  $i = $m->add($p);
  $i->moveTo(1500,1000);
  for ($r=0.0; $r<=1.0; $r+=0.1) {
    $i->setRatio($r);
    $m->nextFrame();
  }
  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>
<?php
  // with a few changes to the example above --
  // looks like SWFMorph() can also be used to DISSOLVE a shape...
  // Shape2's fill below is set to same movie setBackground() color,
  // and its setLine() parameter #1 for weight is set to zero.
  // smaller seems to look a little better with this also...
  $rbg = 0x66; // 102
  $gbg = 0x99; // 153
  $bbg = 0xCD; // 205
  $p = new SWFMorph();
  $s = $p->getShape1();
  $s->setLine(0, 0, 0, 0);
  $s->setLeftFill($s->addFill(0xff, 0, 0));
  $s->movePenTo(-1000,-1000);
  $s->drawLine(2000,0);
  $s->drawLine(0,2000);
  $s->drawLine(-2000,0);
  $s->drawLine(0,-2000);
  $s = $p->getShape2();
  $s->setLine(0,0,0,0);  // changed from (60,0,0,0)
  $s->setLeftFill($s->addFill($rbg, $gbg, $bbg));  // new color to match
  $s->movePenTo(0,-1000);
  $s->drawLine(1000,1000);
  $s->drawLine(-1000,1000);
  $s->drawLine(-1000,-1000);
  $s->drawLine(1000,-1000);
  $m = new SWFMovie();
  $m->setDimension(6000,4000);
  $m->setBackground($rbg, $gbg, $bbg);
  $i = $m->add($p);
  $i->moveTo(3000,2000);
  for ($r=0.0; $r<=1.0; $r+=0.1) {
    $i->setRatio($r);
    $m->nextFrame();
  }
  $m->add(new SWFAction("stop();"));
  $m->nextFrame();
  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>