GdLib, vertikal flip

  • Themenstarter Themenstarter Ramix
  • Beginndatum Beginndatum
R

Ramix

Ich habe ein kleines Problem mit der Qualität bei meinem Flip-script.
Also hier mal das Script:

PHP:
  $bild = 'Bilder1.gif';

  list($ImageX,$ImageY) = getimagesize($bild);

  $org = imagecreatefromgif($bild);
  $flip = imagecreatetruecolor($ImageX,$ImageY);

  for($X=0;$X<$ImageX;$X++){
    $Yr=0;
    for($Y=($ImageY-1);$Y>=0;$Y--)
    {
      $color = imagecolorat($org,$X,$Y);
      imagesetpixel($flip,$X,$Yr,$color);
      $Yr++;
    }
  }
  
  $savedir = "3Bilder1.gif";
  imagegif($flip,$savedir,100);

Das Original und das Ergebnis habe ich im Anhang (Ergebnis = Blau(!)).

Vielen Dank für einen guten Tipp,
Binz
 

Anhänge

  • Bilder1.jpg
    Bilder1.jpg
    47,3 KB · Aufrufe: 21
  • 3Bilder1.jpg
    3Bilder1.jpg
    27,8 KB · Aufrufe: 23
Und wo ist da jetzt das Problem?

Das es so verpixelt ist? Ich denke das wirst du auch nicht besser hinbekommen denn das Script tut jeden Pixel invertieren.
 
Vorallem stören das Blau und wie verpixelt das Ding ist...
Ich möcht es in der möglichst gleichen Qualität! ;-)

Was wäre dann eine alternative zum pixel inventieren?

Gruss
 
Eigentlich will ich eine Spieglung machen....für eine Galerie. Darauf hin habe ich nach Bilderweiterungstutorials gesucht...aber Rahmen und so machen in Tutorials alle mal nach innen. Dann dachte ich, ist kein Problem: Kopierst das Bild und gibts einfach die Spiegelung direkt darunter aus.

Soweit die Vorgeschichte


Ich dachte bei einer Spiegelung fängt man am einfachsten mit dem Drehen an. Dass heisst: Einmal auf den Kopf und von Rechts nach Links die Pixel "vertauschen"....So wie es im Moment aussehen sollte, hab ich im Anhang

Soweit die Plaung

Jetzt ist mein Problem die Qualität des Bildes. Mega verpixelt.
Und das es so Blau eingefärbt wird....
 

Anhänge

  • 11.jpg
    11.jpg
    47,4 KB · Aufrufe: 10
  • 1.jpg
    1.jpg
    46,6 KB · Aufrufe: 13
Versuchs mal mit dieser Funktion:

PHP:
<?php
  function flipImage($image, $vertical, $horizontal) {
    $w = imagesx($image);
    $h = imagesy($image);

    if (!$vertical && !$horizontal) return $image;

    $flipped = imagecreatetruecolor($w, $h);

    if ($vertical) {
      for ($y=0; $y<$h; $y++) {
        imagecopy($flipped, $image, 0, $y, 0, $h - $y - 1, $w, 1);
      }
    }

    if ($horizontal) {
      if ($vertical) {
        $image = $flipped;
        $flipped = imagecreatetruecolor($w, $h);
      }

      for ($x=0; $x<$w; $x++) {
        imagecopy($flipped, $image, $x, 0, $w - $x - 1, 0, 1, $h);
      }
    }

    return $flipped;
  }
?>

Geklaut von php.net Image Funktionen
 
Ich darf mal nur wieder sagen:

DANKE schön Tutorials.de und besonders auch Felix Jacobi!


Funktioniert traumhaft! :p (Anhang)!
 

Anhänge

  • 3Bilder1.jpg
    3Bilder1.jpg
    47 KB · Aufrufe: 16
Zurück