Mit GD-Library erzeugte Bilder ham schlechte Qualität

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

  • Mit GD-Library erzeugte Bilder ham schlechte Qualität

    Ich erzeuge Bilder mit GD-Funktionen. Genauer: Ich nehm ein Foto, das schon existiert, und verkleinere es. Dabei wird aber die Bildqualität schlechter! Beim Vergrößern wär das ja klar, aber beim Verkleinern?

    Als Qualität der JPGs kann ich auch 100 angeben, die Qualität nimmt trotzdem ab.

    Was kann ich dagegen tun?

    Hier mal der Code. Er bewirkt, dass die längere Seite des Bildes auf $size verkürzt wird, wenn sie nicht schon kleiner ist (dann bleibt sie so). Die andere Seite wird entsprechend geändert, damit das Verhältnis weiter stimmt.

    PHP-Code:
    if (!$iname) echo "Es muss ein Bild angegeben werden!";
    else {

        
    $ipath $gallery."/".$iname;
         
        
    $src_img imagecreatefromjpeg($ipath);
        
    $new_w imagesx($src_img);
        
    $new_h imagesy($src_img);
        if (
    $new_w >= $new_h && $new_w >= $size) {
        
    $aspect_ratio $new_h $new_w;
        
    $new_w $size;
        
    $new_h abs($new_w $aspect_ratio);
        
    $dst_img imagecreate($new_w,$new_h);
    }
        elseif (
    $new_h $new_w && $new_h >= $size) {
        
    $aspect_ratio $new_w $new_h;
        
    $new_h $size;
        
    $new_w abs($new_h $aspect_ratio);
    }
        
    $dst_img imagecreate($new_w,$new_h);

        
    imagecopyresized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,imagesx($src_img),imagesy($src_img));
        
    $farbe_b imagecolorresolve($dst_img,255,255,255);
        
    ImageString($dst_img,1,($new_w 50),($new_h 8),"a-mazed.de",$farbe_b);
        
    Header("Content-type: image/jpeg");
        
    ImageJPEG($dst_img,"",80); // Hier wird das Bild erzeugt


  • #2
    Probier "ImageCreateTrueColor" anstatt "imagecreate".

    Kommentar


    • #3
      Das funzt nicht bei mir . Der kennt die Funktion imagecreatetruecolor() nicht. Wahrscheinlich ist meine Version der GD zu alt...

      Wie krieg ich die Versoin raus bzw. ist das updaten kompliziert oder muss ich da nur 1, 2 dlls ersetzen?

      Kommentar


      • #4
        Ich glaub das steht auf der PHP-Info Site welche Version du hast!

        Also:

        <?
        phpinfo();
        ?>

        Kommentar

        Lädt...
        X