Ankündigung

Einklappen
Keine Ankündigung bisher.

Imagick: Transparenzproblem bei Thumbs

Einklappen

Neue Werbung 2019

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

  • Imagick: Transparenzproblem bei Thumbs

    Ich hab jetzt Imagick soweit auf meinem Heimrechner zum Laufen gebracht und angefangen mir eine Art Gallerie für Screenshots und ähnliches zu schreiben, die autom. Thumbnails erstellt (siehe hier).

    Wenn ich aber GIFs und PNGs mit transparenter Farbe (kein Alpha-Kanal) zerren lasse, sieht das Ergebnis scheußlich aus und wenn ich Bilder mit Alpha oder Transparenz zu JPG konvertiere, ist die Hintergrundfarbe schwarz. Beides will ich ändern, indem ich vorher ein weißes Bild erstelle und das eigentliche Bild vorm Zerren „draufmale“, jedoch hab ich keine anständige Dokumentation oder Tutorial gefunden, wie das geht

    Hat jemand ne Ahnung und kann mir weiterhelfen oder hat nen Link für mich?


    so long..
    Andy


  • #2
    Hi!

    Habe mein Problem jetzt mit Hilfe ein paar Beispiele gelöst.

    PHP-Code:
        // $src = Quellpfad
        // $dst = Zielpfad
        // $w = Zielbreite
        // $h = Zielhöhe
        
        //Quellbild laden
        
    $src_image = new Imagick();
        
    $src_image->readImage($src);
        
        
    //leeres, weißes JPEG-Bild erstellen. Quellmaße! 
        
    $image = new Imagick();
        
    $image->newImage($src_image->getImageWidth(),
          
    $src_image->getImageHeight(),
          new 
    ImagickPixel("white")
        );
        
    $image->setImageFormat("jpeg");
        
        
    //Quellbild auf's Zielbild kopieren
        
    $image->compositeImage($src_imageImagick::COMPOSITE_OVER00);
        
        
    //Bildgröße ändern
        
    $image->resizeImage($w$hImagick::FILTER_LANCZOS0.9);
        
        
    //Bild abspeichern
        
    $image->setCompression(Imagick::COMPRESSION_JPEG);
        
    $image->setCompressionQuality(85);
        
    $image->writeImage($dst); 
    Das größte Problem war, dass die ganzen Beispiele bei mir (Ubuntu 7.10) nicht funktioniert haben. Ich hab das PHP5-Dev Paket installiert, das neueste ImageMagick selbst compiled, das aktuelle Imagick dann per PECL installiert und den apache neugestartet. Seit dem klappt alles wunderbar
    Code:
    sudo apt-get install php5-dev
    sudo pecl install imagick
    sudo /etc/init.d/apache2 restart

    Kommentar

    Lädt...
    X