Problem mit Image-Rotation

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit Image-Rotation

    [FONT=Times New Roman]Hallo,[/FONT]
    [FONT=Times New Roman]ich möchte ein Bild um den Mittelpunkt drehen. Im Script wird das Bild um linke obere Ecke gedreht.[/FONT]
    PHP-Code:
    <?php
    $movie 
    = new SWFMovie();
    $movie->setRate(12.0);
    $w0 200$h0 200;
    $movie->setDimension($w0$h0);
    $movie->setBackground(0xdd0xdd0xd0);
    $f 'test.gif';
    $b1 = new SWFBitmap(fopen($f"r"));
    $b1 $movie->add($b1);
    for (
    $i=0;$i<20;$i++) {
      
    $a = ($i+1)*18;
      
    $b1->moveTo($w0/2,$h0/2);
      
    $b1->rotateTo($a);
      
    $movie->nextFrame();
    }
    $fn 'test.swf';
    $movie->save($fn);
    echo 
    '<object data="'.$fn.'" type="application/x-shockwave-flash" width="'.$w0.'" height="'.$h0.'">';
    echo 
    '  <param name="movie" value="'.$fn.'">';
    echo 
    '  <param name="quality" value="high">';
    echo 
    '  <param name="menu" value="true">';
    echo 
    '  <embed src="'.$fn.'" width="'.$w0.'" height="'.$h0.'">';
    echo 
    '  </embed>';
    echo 
    '</object>';
    ?>

  • #2
    also ... das die Leute immer die neusten experimentellen Funktionen nutzen müssen...

    Scheinbar ist das Rotieren um die Linke obere Ecke beabsichtigtes Verhalten,

    Wenn du Drehung um den Mittelpunkt "simulieren" willst ... dann

    -> ERST DREHEN
    -> JETZT VERSCHIEBEN (und beim Verschieben die X / Y-Koordinate vertauschen, falls das Bild nicht quadratisch ist ) - die Verschiebe-Wege müssen dabei wohl negatives Vorzeichen haben
    [font=Verdana]
    Wer LESEN kann, ist klar im Vorteil!
    [/font]

    Kommentar


    • #3
      Es gibt nur experimentellen Funktionen zur Erstellung von Flash-Datei. Ich habe in Internet keine Lösung für Mittelpunkt-Drehung gefunden, so habe ich was ausprobiert und es tut:
      PHP-Code:
      $movie = new SWFMovie();
      $movie->setRate(30.0);
      $w0 200$h0 200;
      $movie->setDimension($w0$h0);
      $movie->setBackground(0xdd0xdd0xd0);
      $f 'test.png';
      $imageInfo getimagesize($f);
      $w $imageInfo[0];
      $h $imageInfo[1];
      $b1 = new SWFBitmap(fopen($f"r"));
      $b1 $movie->add($b1);
      $b1->moveTo($w0/2,$h0/2);
      $r sqrt($w*$w/$h*$h/4);
      for (
      $i=0;$i<20;$i++) {
        
      $a = ($i+0)*18;
        
      $b1->moveTo($w0/2,$h0/2);
        
      $b1->rotateTo($a);
        
      $g deg2rad($a);
        
      $x = -$r*cos($g) - $h/2*sin($g);
        
      $y $r*sin($g) - $h/2*cos($g);
        
      $b1->move($x,$y);
        
      $movie->nextFrame();
      }
      $fn 'test.swf';
      $movie->save($fn);
      echo 
      '<object data="'.$fn.'" type="application/x-shockwave-flash" width="'.$w0.'" height="'.$h0.'">';
      echo 
      '  <param name="movie" value="'.$fn.'">';
      echo 
      '  <param name="quality" value="high">';
      echo 
      '  <param name="menu" value="true">';
      echo 
      '  <embed src="'.$fn.'" width="'.$w0.'" height="'.$h0.'">';
      echo 
      '  </embed>';
      echo 
      '</object>'
      Und sieht so aus:http://www.aktien-w.de/Flash/test1.php
      Das Flash-Generator: Flashgenerator 2

      Kommentar

      Lädt...
      X