Ergebnis 1 bis 4 von 4

Thema: getImage Hook und Wasserzeichen

  1. #1
    Contao-Nutzer
    Registriert seit
    14.01.2010.
    Beiträge
    44

    Trauriges Gesicht getImage Hook und Wasserzeichen

    Hallo, ich habe mit Hilfe von $GLOBALS['TL_HOOKS']['getImage'][] eine Funktion programmiert, die ein Wasserzeichen in die Bilder reinrechnet.

    PHP-Code:
    class QFWatermark extends Frontend  {
        
        public function 
    myqfwatermark($image$width$height$mode$strCacheName$objFile)
        {
        
    $newimage $strCacheName;
        
    $watermark imagecreatefrompng('watermark.png');  
        
    $watermark_width imagesx($watermark);  
        
    $watermark_height imagesy($watermark);  
        
    $image2 imagecreatetruecolor($watermark_width$watermark_height);  
        
    $image2 imagecreatefromjpeg($image);  
        
    $size getimagesize($image);  
        
    $dest_x $size[0] - $watermark_width;  
        
    $dest_y $size[1] - $watermark_height;  
        
    imagecopymerge($image2$watermark$dest_x$dest_y00$watermark_width$watermark_height50);
        
    imagejpeg($image2,$newimage,95);  
        
    imagedestroy($image2);  
        
    imagedestroy($watermark);      
        
    // give back new image
        
    $newimage = array($newimage$width$height$mode);
        return 
    $newimage;
        }

    Prinzipiell funktioniert das Skript, nur frage ich mich, wie ich das Bild in der Ausgabe angezeigt bekomme ohne dass das Originalbild überschrieben wird. Im gezeigten Beispiel würde das Skript das Originalbild überschreiben und dort das Wasserzeichen integrieren. Das macht natürlich keinen Sinn. Dann habe ich versucht die Bilder mit Wasserzeichen einfach in einen neuen Ordner zu schreiben. Das funktioniert problemlos, nur wird bei der Ausgabe dann wieder auf das Originalbild zurückgegriffen.

    Auch das überschreiben der Cache-Bilder brachte nichts, da die Funktion "getImage" bei der Ausgabe der Bilder immer nochmals ausgeführt wird. D.h. meine Funktion erstellt das Bild mit Wasserzeichen und dann kommt Contao und überschreibt es wieder.

    Wie lässt sich das Problem lösen? Wohin muss ich die generierten Bilder mit Wasserzeichen speichern und wie bringe ich der Ausgabe bei, dass es diese dann auch verwenden soll?

    In den Ausgabetemplates möchte ich nichts anpassen, da das ganze möglichst universell funktionieren soll.

    ?!

  2. #2
    Contao-Urgestein Avatar von tril
    Registriert seit
    07.01.2010.
    Ort
    Bad Marienberg
    Beiträge
    2.939
    User beschenken
    Wunschliste

    Standard

    Du schreibst einfach die Variable $newimage um, anstelle die temporären Datei zu nehmen ;-)
    PHP-Code:
    $newimage preg_replace('#\.\w+#''_watermarked$1'$strCacheName); 
    MfG Tristan

  3. #3
    Contao-Nutzer
    Registriert seit
    14.01.2010.
    Beiträge
    44

    Standard

    Hallo Tristan,

    danke für dein Feedback. Damit wird zwar die passende Bilddatei im html-Ordner samit Wasserzeichen erzeugt, allerdings wird in der Ausgabe noch immer das "normale" Vorschaubild aus dem html Ordner genommen. Irgendwie wird das was von der Funktion zurückgegeben wird nicht für das finale HTML-Rendering genommen.

    Beispiel: Im html Ordner liegen nun zwei Dateien
    "Bild1-f69635.jpg"
    "Bild1-f69635_watermarked.jpg"

    Im Sourcecode bei der Ausgabe wird dann aber trotzdem "Bild1-f69635.jpg" genommen.

    Wo ist da mein Denkfehler?!

    matthias

  4. #4
    Contao-Urgestein Avatar von tril
    Registriert seit
    07.01.2010.
    Ort
    Bad Marienberg
    Beiträge
    2.939
    User beschenken
    Wunschliste

    Standard

    Der Rückgabewert des HOOKs muss ein String sein, du gibst ein Array zurück

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. ce_downloads.tpl - Bildformat-Downloads mit Thumbnails (getImage())
    Von refalo im Forum Modifizierte Templates
    Antworten: 11
    Letzter Beitrag: 19.07.2013, 19:45
  2. Wasserzeichen
    Von eisenherz im Forum Bilder/Dateien
    Antworten: 16
    Letzter Beitrag: 18.01.2011, 16:58
  3. getImage und watermark
    Von Fabio im Forum Entwickler-Fragen
    Antworten: 4
    Letzter Beitrag: 14.09.2010, 10:47
  4. getImage Parameter
    Von Lengen1971 im Forum Entwickler-Fragen
    Antworten: 5
    Letzter Beitrag: 26.08.2010, 07:18
  5. Wasserzeichen-Funktion
    Von Askraba im Forum Bilder/Dateien
    Antworten: 1
    Letzter Beitrag: 22.06.2010, 18:42

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •