Sebastian: Grafiken auf Server bearbeiten

Hallo zusammen,

auf dem Server, den ich betreue, befindet sich ein Newssystem und eine Bildergalerie. Hierzu möchte ich immer wieder einzelne Bilder (*.jpg, keine gif oder png) der Bildergalerie in die Nachrichten einfügen - und zwar nicht in Originalgröße sondern in verkleinerter Größe. Über PHP und GD ist das kein Problem, einzigst die Qualität der erzeugten Bilder lässt zu wünschen übrig, obwohl die höchste Qualitätsstufe eingestellt ist. Hat jemand eine Idee oder kennt eine alternative, wie man die Qualität auf eine angemessene Stufe bringen kann.

ImageMagick steht auf dem Server meines Wissens nicht zu Verfügung.

Danke schon im voraus.

  1. Moin!

    Über PHP und GD ist das kein Problem, einzigst die Qualität der erzeugten Bilder lässt zu wünschen übrig, obwohl die höchste Qualitätsstufe eingestellt ist.

    Bei was ist die höchste Qualität eingestellt?

    Es kommt bei PHP ganz entscheidend auf die Art der Verkleinerung an. Wenn du keine gdlib 2 zur Verfügung hast, ist die Qualität bedingt durch die einzige, mies skalierende Funktion eher schlecht. Mit gdlib 2 sollten die Ergebnisse aber eigentlich normalen Ansprüchen genügen können.

    - Sven Rautenberg

    --
    "Habe den Mut, dich deines eigenen Verstandes zu bedienen!" (Immanuel Kant)
    1. Hallo,

      ich verkleinere die Bilder im Moment über folgende Befehle:

      ...
      ImageCopyResized($im, $src, 0, 0, $sourceX, $sourceY, $newWidth, $newHeight, $sourceWidth, $sourceHeight);
      ImageJPEG($im, '', $imgQuality);
      ...

      Über ImgQuality kann ich ja die Qualität des erzeugten Bildes steuern (0-schlecht bis 100-gut). Aber auch nur eigentlich.

      Sebastian

      1. Moin!

        ImageCopyResized($im, $src, 0, 0, $sourceX, $sourceY, $newWidth, $newHeight, $sourceWidth, $sourceHeight);

        Aha, da haben wir ja den Übeltäter.

        Wenn du hier imagecopyresampled() nimmst, kriegst du bessere Qualität. Liest du die Kommentare auf www.php.net zu den einzelnen Befehlen nicht? Solltest du aber.

        ImageJPEG($im, '', $imgQuality);

        Die Kompressionsqualität des JPEGs ist zwar nicht uninteressant, aber was du einen Befehl zuvor versaust, reißt dieser Parameter auch nicht mehr raus.

        Aber wie ich sagte: Das braucht gdlib 2
         - Sven Rautenberg

        --
        "Habe den Mut, dich deines eigenen Verstandes zu bedienen!" (Immanuel Kant)
        1. Hallo,

          tja das wird auch das Problem sein, nicht dass ich mir die Kommentare und Beschreibungen unter php.net nicht durchlese, sondern dass imagecopyresampled() auf Grund von einer fehlenden gdlib2-Bibliothek nicht funktioniert. Hätte ja sein können, dass es noch eine Alternative gibt.
          Nebenbei: PHP.NET ist die erste Adresse bei der Entwicklung von php-Skripten.