Thomas Schmieder: GD-LIB, neue Version baut Bilder nur in s/w

Hallo,

nun hat es mit einigen kleineren Anläufen geklappt. Der neue Testserver läuft erstmal mit Debian 3.0, Apache 1.3.27, PHP 4.3.1, MySQL 3.23.55, GD-LIB 2.0.11 etc.

Die GD-LIB macht aber noch ein paar Problemchen. Die createimgfromjpeg()-Funktion erzeugt nur Schwarz/Weiß-Bilder. Hat sich da nun was in den Parametern geändert oder ist estwas über einen Bug bekannt?

Außerdem möchte ich meine andere Frage nochmal wiederholen: Kann mir jemand sagen, wie ich die GD-LIB mit voller GIF-Funktionalität aufrüsten kann? Gibt es das fehlende Modul noch? Ich bin ja auch bereit, Lizenzgebühren für den gz-Algorithmus zu zahlen, wenn es nicht zu unverschämt ist.

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
  1. Hallo,

    Lösung gefunden:

    #$dst_img=imagecreate($tx,$ty);         //Zielbild im Speicher vorbereiten
        $dst_img=imagecreateTrueColor($tx,$ty); //neue Funktion benutzen

    Die alte Funktion erzeugt nur einen Platzhalter mit 256 Farben. Wenn man dann ein jpeg darauf abbildet, wird nur der Kontrastkanal (schwarz) übertragen.

    Die neue Funktion (ab GD 2.0.1) baut einen Platzhalter mit 3 (oder vier?) Bytes pro Pixel. Da klappts dann auch wieder mit der Farbe.

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
  2. Moin!

    Außerdem möchte ich meine andere Frage nochmal wiederholen: Kann mir jemand sagen, wie ich die GD-LIB mit voller GIF-Funktionalität aufrüsten kann? Gibt es das fehlende Modul noch? Ich bin ja auch bereit, Lizenzgebühren für den gz-Algorithmus zu zahlen, wenn es nicht zu unverschämt ist.

    Es gibt entweder eine ganz alte gdlib-Version (IIRC älter als 1.6), und außerdem wohl einen Patch für eine 1.8er-Version, um GIFs zu verarbeiten. Definitiv kriegst du das aber nicht so einfach in die 2er-Version integriert, die ab PHP 4.3.0 gleich mit dabei ist.

    Und das Ersetzen der gdlib 2 mit der alten gdlib 1.irgendwas ist leider auch keine ideale Lösung, weil meines Wissens erst ab gdlib 2 True-Color-Bilder unterstützt werden und endlich eine vernünftige, bikubisch interpolierende Skalierungsfunktion eingebaut wurde.

    Wenn du also _schöne_ Thumbnails machen willst, brauchst du True-Color-Support und imagecopyresampled() - kriegst aber nur JPGs und PNGs.

    Wie ich auf deine erste Frage schon entgegnete: ImageMagick verarbeitet alle deine gewünschten Formate, und noch ein paar mehr. Und es sollte sich in PHP auch recht einfach integrieren lassen, indem System-Aufrufe erfolgen. Möglicherweise ist ImageMagick sogar noch schneller - es kann auch definitiv mehr, als die gdlib, was Bildmanipulationen angeht, beispielsweise transparente Überlagerungen und Filter etc.

    - Sven Rautenberg

    --
    "Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)
    1. Hallo Sven,

      danke für die Infos. Die werden wir mal intensiv verfolgen...

      Außerdem möchte ich meine andere Frage nochmal wiederholen: Kann mir jemand sagen, wie ich die GD-LIB mit voller GIF-Funktionalität aufrüsten kann? Gibt es das fehlende Modul noch? Ich bin ja auch bereit, Lizenzgebühren für den gz-Algorithmus zu zahlen, wenn es nicht zu unverschämt ist.

      Es gibt entweder eine ganz alte gdlib-Version (IIRC älter als 1.6), und außerdem wohl einen Patch für eine 1.8er-Version, um GIFs zu verarbeiten. Definitiv kriegst du das aber nicht so einfach in die 2er-Version integriert, die ab PHP 4.3.0 gleich mit dabei ist.

      Und das Ersetzen der gdlib 2 mit der alten gdlib 1.irgendwas ist leider auch keine ideale Lösung, weil meines Wissens erst ab gdlib 2 True-Color-Bilder unterstützt werden und endlich eine vernünftige, bikubisch interpolierende Skalierungsfunktion eingebaut wurde.

      Wenn du also _schöne_ Thumbnails machen willst, brauchst du True-Color-Support und imagecopyresampled() - kriegst aber nur JPGs und PNGs.

      Wie ich auf deine erste Frage schon entgegnete: ImageMagick verarbeitet alle deine gewünschten Formate, und noch ein paar mehr. Und es sollte sich in PHP auch recht einfach integrieren lassen, indem System-Aufrufe erfolgen. Möglicherweise ist ImageMagick sogar noch schneller - es kann auch definitiv mehr, als die gdlib, was Bildmanipulationen angeht, beispielsweise transparente Überlagerungen und Filter etc.

      Liebe Grüße aus http://www.braunschweig.de

      Tom

      --
      Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.