Entschuldige Tina!
Evtl. liegt es an deinem Mimetyp. In deinem ersten Code hattest du da einmal beim erstellen 'image' und dann aber 'image/jpeg'. Versuch doch bei der set-Funktion mal image/png, da du ja nun ein png mit gibst.
Viel Erfolg
Entschuldige Tina!
Evtl. liegt es an deinem Mimetyp. In deinem ersten Code hattest du da einmal beim erstellen 'image' und dann aber 'image/jpeg'. Versuch doch bei der set-Funktion mal image/png, da du ja nun ein png mit gibst.
Viel Erfolg
Kein Problem
Hmm ich dachte, der Mimetyp bezieht sich auf das Bild, das mit einem Wasserzeichen versehen wird. Ich habe 'image', 'image/jpeg' und 'image/png' ausprobiert. Hilft aber alles nix... Hat noch jemand eine Idee?
Hi Tina,
du hast recht, das Prinzip ist ein Wasserzeichen zu einem Dateityp zuzuordnen. Jedoch ist die notwendige Methode dafür nicht addWatermark, sondern:
Danach kannst du mitPHP-Code:
setMimeWatermark($strMime, $strWatermark, $strLocation = null)
ein Thumb mit Wasserzeichen erstellen.PHP-Code:
getWatermarkedThumb($strFile, $intWidth, $intHeight, $strMode = 'box', $strTarget = null)
MfG Tristan
Hi Tristan,
so hatte ich das eigentlich auch gemacht. Ich benutze folgende Zeilen
Das Bild wird erstellt, aber ohne Wasserzeichen. Den Pfad zum Wasserzeichen habe ich überprüft, daran kann es eigentlich nicht liegen.Code:$this->import('Thumbnify'); $watermark = 'tl_files/layout/watermark.png'; ?> $this->Thumbnify->setMimeWatermark('image', $watermark, WATERMARK_LEFT_TOP); echo $this->Thumbnify->getWatermarkedThumb($entry['data']['picture']['files']['0'], 600, 600);
Gruß
Tina
was passiert denn, wenn du als mime typ "image/" (also mit / am Ende verwendest) ?
Geht auch nicht. Ich habe es auch mal mit einem jpg-Bild als Wasserzeichen probiert, aber das hilft auch nicht.
So lange ich nur Bilder mit einem Wasserzeichen versehen will, brauche ich auch keine weiteren Programme, oder? Steht zumindest im ersten Thread. Ansonsten könnte es ja vielleicht daran liegen, dass ich noch was installieren muss.
Tolle Erweiterung!!
Sag, kann man auch Graustufenbilder erzeugen?
Grüße Tim
http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.
Hallo,
ich hatte vor einiger Zeit schon mal geschrieben (s. obere Beiträge) und das Problem erst mal ruhen lassen. Jetzt habe ich noch mal geforscht. Laut Quellcode soll ja eine Bilddatei mit dem Zusatz "watermarked" in "system/html/" erstellt werden. Das passiert aber gar nicht. Ich habe mal ein paar Statusmeldungen ausgeben lassen und der Fehler scheint beim Aufruf von "executeProc" in "addWatermark" zu liegen. Eine Fehlermeldung wird aber nicht in die Log-Datei geschrieben. Kann jemand was mit meiner Beschreibung anfangen? Was kann ich noch testen?
Viele Grüße
Tina
Hallo,
ich arbeite immer noch an dem oben beschriebenen Problem und habe jetzt folgende Fehlermeldung. Kann mir jemand erklären, was das bedeutet?
Danke und schönes Wochenende
Tina
Code:program execution failed command: "composite '-gravity' 'NorthWest' '/Users/tina/Sites/bkn/tl_files/layout/watermark.png' '-type' 'TrueColorMatte' '/Users/tina/Sites/bkn/system/html/1484-d4436c68.jpg' '/Users/tina/Sites/bkn/system/html/1484-d4436c68-watermarked-19acd377.jpg'" stdout: "" stderr: "sh: composite: command not found "
EDIT: Benötige ich für die Funktion ImageMagick? Laut dem ersten Beitrag ja nicht, da ich ja kein PDF benutze, sondern nur Bilder. Aber irgendwas scheint ja zu fehlen...
Geändert von Tina (06.05.2011 um 16:25 Uhr)
Die Watermark Funktion benötigt ImageMagick ... das habe ich total vergessen
Hallo tril,
ich nutze Version 2.9.5 und habe die Installation über den Erweiterungskatalog erfolgreich durchgeführt. Wie nutze ich jetzt aber dein Tool?
In welchen Dateien muss ich welche Codezeilen ergänzen um ein Wasserzeichen rechts unten einzubinden?
Danke.
Allgemein im gesamten System geht das nicht, du musst Thumbnify im Template in dem du ein Bild verändern willst einbinden und dann die entsprechenden Methoden verwenden um das Bild zu manipulieren.
Sie auch hier: http://www.contao-forge.org/projects/show/thumbnify
Hallo!
Ich versuche seit einigen Stunden das Avatar eines Users via thumbnify zu verkleinern. Hochgeladen ist es auch erfolgreich und und unter "tl_files/avatars/tl_member_1.png" abgespeichert. (User-ID ist 1).
Meine Frage ist nun, wie ich das Bild jeweils userspezifisch ansprechen kann mit thumbnify?
Ich brauche also "$strFile" hierbei:
Steinigt mich ruhig für meinen doofen Versuch, aberCode:<img src="<?php echo ($this->Thumbnify->getThumb($strFile, 50, 50, 'crop')); ?>" alt="text" />führt leider nicht zum erhofften Ergebnis, sondern ich bekomme nur eine weiße Seite zurück. Hier wäre auch das Problem, dass ich die Dateiendung mit .*png vorgebe, User aber in allen möglichen Formaten Bilder hochladen. Kann ich dort überhaupt Insert-Tags einsetzen?Code:<img src="<?php echo ($this->Thumbnify->getThumb('tl_files/avatars/tl_member_{{user::id}}.png', 50, 50, 'crop')); ?>" alt="text" />
Ich würde mich sehr freuen, wenn mir jemand hierbei helfen könnte, denn ich weiß nicht, wie ich an die jeweilige URL des Bildes kommen kann.
Beste Grüße & einen angenehmen Sonntag
Alex
Edit:
Finde ich irgendwo hier die Antwort? http://web.archive.org/web/201011210...ensions:avatar
Geändert von Alexander (19.02.2012 um 12:17 Uhr)
"The basic drives of humans are few: to get enough food, to find shelter, and to keep debt off the balance sheet."
Das Problem ist, dass Thumbnify keine Insert Tags auswertet, auf PHP Ebene sind Insert Tags nicht oder nur unter bestimmten Voraussetzungen zu gebrauchen.
Für dein Problem gibt es 2 Möglichkeiten:
Variante 1:
Variante 2:PHP-Code:
<?php
$this->import('FrontendUser', 'User');
$this->User->authenticate();
?>
<img src="<?php echo ($this->Thumbnify->getThumb('tl_files/avatars/tl_member_<?php echo $this->User->id; ?>.png', 50, 50, 'crop')); ?>" alt="text" />
MfG TristanPHP-Code:
<img src="<?php echo ($this->Thumbnify->getThumb($this->replaceInsertTags('tl_files/avatars/tl_member_{{user::id}}.png'), 50, 50, 'crop')); ?>" alt="text" />
Hallo Tristan,
vielen Dank für deine Antwort!
Ich werde beide Varianten durchprobieren. Jedoch bleibt auch hier das Problem bestehen, dass er ausschließlich *.png's dadurch verkleinert, richtig? Kann ich die Dateiendung/ das Dateiformat auch abfragen?
Beste Grüße
Alex
"The basic drives of humans are few: to get enough food, to find shelter, and to keep debt off the balance sheet."
Guten Morgen!
Ich gebe ihm hier jadie Endung .png vor. Ich meinte weiter oben, ob man hier auch eine "dynamsiche Abfrage" hinsetzen kann, da ein Frontend-User sein Bild ja in PNG,JPG,... hochladen könnte und sich dementsprechend auch die Dateiendung ändert.Code:tl_files/avatars/tl_member_<?php echo $this->User->id; ?>.png
Beste Grüße
Alex
"The basic drives of humans are few: to get enough food, to find shelter, and to keep debt off the balance sheet."
PHP-Code:
<?php
$strAvatar = false;
foreach (array('jpg','png','gif') as $type) {
if (file_exists(TL_ROOT . '/tl_files/avatars/tl_member_' . $this->User->id; . '.' . $type)) {
$strAvatar = 'tl_files/avatars/tl_member_' . $this->User->id; . '.' . $type;
}
}
if ($strAvatar) {
// user has an avatar
} else {
// user has no avatar
}
Vielen Dank! Das werde ich noch heute Abend testen!
Beste Grüße
Alex
"The basic drives of humans are few: to get enough food, to find shelter, and to keep debt off the balance sheet."
Hallo liebe Contao Community,
ich würde auch sehr gerne diese Erweiterung nutzen um in einem Downloadbereich die Vorschaubilder von PDF Dokumenten generieren zu lassen.
Ich nutze also das Inhaltselement "Downloads" und muss nun das Template anpassen... soviel habe ich schon mal verstanden ;-)
Doch welchen Code muss ich zur Generierung des Vorschaubildes im Template eintragen. Habe dazu leider keine Doku gefunden, da der Link zum Handbuch wohl nicht mehr aktuell ist.
LG,
Dirk
Am besten schaust du dir den initialen Post an oder das Beispiel: https://community.contao.org/de/show...l=1#post106842
Danke für die schnelle Antwort.
Ich habe nun folgenden Code eingebaut:
Leider scheint das Rendern so nicht zu klappen. Die Seite selber ist bei All-Inkl gehostet und es müsste ImageMagick installiert sein.Code:<?php foreach ($this->files as $file): ?> <?php $this->import('Thumbnify'); ?> <?php echo ($this->Thumbnify->getThumb($file['href'], 96, 65)); ?> <p><img src="<?php echo $file['href']; ?>" width="96" height="65" alt="<?php echo $file['mime']; ?>" class="mime_icon"> <a href="<?php echo $file['href']; ?>" title="<?php echo $file['title']; ?>"><?php echo $file['link']; ?> <span class="size">(<?php echo $file['filesize']; ?>)</span></a></p> <?php endforeach; ?>
PHP-CGI per .htaccess ist auch aktiviert. Muss evtl. der Pfad zu Convert angepasst werden?
LG,
Dirk
Korrigiere mich. Code müsste doch so aussehen, oder?
Funzt aber leider immer noch nicht :-(Code:<?php foreach ($this->files as $file): ?> <?php $this->import('Thumbnify'); ?> <p><img src="<?php echo ($this->Thumbnify->getThumb($file['href'], 96, 65)); ?>" alt="" /> <a href="<?php echo $file['href']; ?>" title="<?php echo $file['title']; ?>"><?php echo $file['link']; ?> <span class="size">(<?php echo $file['filesize']; ?>)</span></a></p> <?php endforeach; ?>
Es liegt wohl an $file['href']... es wird so keinen Pfad eingetragen. Wenn ich den Pfad zu einer PDF Datei per Hand ins Template schreibe, funktioniert das erstellen des Thumbs.
Was kann man statt $file['href'] eintragen?
Kann mir niemand einen Tipp geben?
Wenn ich im Template ce_downloads.html5 zum testen den Codeeintrage, wird das Thumbnail generiert.Code:<img src="<?php echo ($this->Thumbnify->getThumb('tl_files/theme/downloads/ELSEN_Logo_mS_HKS.pdf', 96, 65)); ?>" alt="Thumbnail" />
Es soll ja für jedes Download Element ein eigenes Thumbnail erstellt werden... also müsste der Code ja lauten:
Das funktioniert leider nicht. Was muss ich eintragen, damit es funktioniert?Code:<img src="<?php echo ($this->Thumbnify->getThumb($file['href'], 96, 65)); ?>" alt="Thumbnail" />
LG,
Dirk
Code:<img src="<?php echo $this->urlEncode( $this->Thumbnify->getThumb( rawurldecode( $file['href'] ), 96, 65 ) ); ?>" alt="Thumbnail" />
Danke Dir für die schnelle Antwort und den Code. Funktioniert leider immer noch nicht :-(
Selber Fehler wie vorher. Im img Tag steht kein Pfad drin.
Ich muss nochmal nachbohren, da die Anpassung...
leider keinen Erfolg gebracht hat. Woran könnte das liegen?Code:<img src="<?php echo $this->urlEncode( $this->Thumbnify->getThumb( rawurldecode( $file['href'] ), 96, 65 ) ); ?>" alt="Thumbnail" />
Bist du sicher, dass in $file['href'] überhaupt der Dateipfad drin steht?
Das Orginal Template sieht ja so aus:
UnterCode:<!-- indexer::stop --> <div class="<?php echo $this->class; ?> block"<?php echo $this->cssID; ?><?php if ($this->style): ?> style="<?php echo $this->style; ?>"<?php endif; ?>> <?php if ($this->headline): ?> <<?php echo $this->hl; ?>><?php echo $this->headline; ?></<?php echo $this->hl; ?>> <?php endif; ?> <?php foreach ($this->files as $file): ?> <p><img src="<?php echo $file['icon']; ?>" width="18" height="18" alt="<?php echo $file['mime']; ?>" class="mime_icon"> <a href="<?php echo $file['href']; ?>" title="<?php echo $file['title']; ?>"><?php echo $file['link']; ?> <span class="size">(<?php echo $file['filesize']; ?>)</span></a></p> <?php endforeach; ?> </div> <!-- indexer::continue -->ist ja auch als Linkpfad $file['href'] gesetzt. Also müsste das doch funktionieren, oder?Code:<a href="<?php echo $file['href']; ?>" title="<?php echo $file['title']; ?>"><?php echo $file['link']; ?> <span class="size">(<?php echo $file['filesize']; ?>)</span></a>
Okay... das scheint das Problem zu sein. Mir ist nur nicht ganz klar, was ich statt $file['href'] eintragen kann, um den richrtigen Dateipfad zu kriegen
Schau doch einfach mit einem var_dump($file) nach, was so in der Variable drin steckt ;-)
hmm, demnach wäre es eine Kombi zwischen der Variable 'path' (welche den Dateipfad enthält) und 'link' (welche den Dateinamen enthält). Nur... wie bringe ich das zusammen?
Ich bin leider in der Programmierung nicht so Firm :-(
was gibt das var_dump denn aus? Kannste mal ein Beispiel posten, dann fällt es mir leicht
Klar ;-)
Folgendes wird ausgegeben:
Code:array(10) { ["link"]=> string(21) "xxx_Logo_mS_RGB.tif" ["title"]=> string(21) "xxx_Logo_mS_RGB.tif" ["href"]=> string(66) "downloads.html?file=tl_files/theme/downloads/xxx_Logo_mS_RGB.tif" ["caption"]=> NULL ["filesize"]=> string(8) "79,4 KiB" ["icon"]=> string(40) "system/themes/default/images/iconTIF.gif" ["mime"]=> string(10) "image/tiff" ["meta"]=> array(1) { [0]=> string(21) "xxx_Logo_mS_RGB.tif" } ["extension"]=> string(3) "tif" ["path"]=> string(82) "/www/htdocs/w00affec/xxx.com/xxx/tl_files/theme/downloads" }
Na auch toll, die einfachste Lösung ist wohl die:
Dann kannst du $path mit Thumbnify verwenden.PHP-Code:
<?php
list($url, $path) = explode('=', rawurldecode($file['href']), 2);
Ah gut, jetzt ist die Lösung ganz nah. Was ich noch nicht verstehe ist, wo trage ich diesen Code ein?
Das ist ja der Orginal Template Code:Im img Tag kommt dann dies hier rein:Code:<?php foreach ($this->files as $file): ?> <p><img src="<?php echo $file['icon']; ?>" width="18" height="18" alt="<?php echo $file['mime']; ?>" class="mime_icon"> <a href="<?php echo $file['href']; ?>" title="<?php echo $file['title']; ?>"><?php echo $file['link']; ?> <span class="size">(<?php echo $file['filesize']; ?>)</span></a></p> <?php endforeach; ?>
Wo kann ich dannCode:<img src="<?php echo $this->urlEncode( $this->Thumbnify->getThumb( rawurldecode( $file['href'] ), 96, 65 ) ); ?>" alt="Thumbnail" />einbauen?Code:<?php list($url, $path) = explode('=', rawurldecode($file['href']), 2);
Geändert von dirksche (16.01.2013 um 09:49 Uhr)
Code:<?php foreach ($this->files as $file): ?> <?php list($url, $path) = explode('=', rawurldecode($file['href']), 2); // rewrite the icon to preview image $file['icon'] = $this->urlEncode( $this->Thumbnify->getThumb( rawurldecode( $file['href'] ), 96, 65 ) ); ?> <p><?php echo $this->generateImage($file['icon'], $file['mime'], ' class="mime_icon"'); ?> <a href="<?php echo $file['href']; ?>" title="<?php echo $file['title']; ?>"><?php echo $file['link']; ?> <span class="size">(<?php echo $file['filesize']; ?>)</span></a></p> <?php endforeach; ?>
Ich danke Dir schon mal recht herzlich für Deine Mühe. Leider scheint es so nicht zu funktionieren. Ich erhalte nun einfach eine leere Seite :-(
So sieht das angepasste ce_downloads.html5 Template nun aus:
Code:<!-- indexer::stop --> <div class="<?php echo $this->class; ?> block"<?php echo $this->cssID; ?><?php if ($this->style): ?> style="<?php echo $this->style; ?>"<?php endif; ?>> <?php if ($this->headline): ?> <<?php echo $this->hl; ?>><?php echo $this->headline; ?></<?php echo $this->hl; ?>> <?php endif; ?> <?php foreach ($this->files as $file): ?> <?php list($url, $path) = explode('=', rawurldecode($file['href']), 2); // rewrite the icon to preview image $file['icon'] = $this->urlEncode( $this->Thumbnify->getThumb( rawurldecode( $file['href'] ), 96, 65 ) ); ?> <p><?php echo $this->generateImage($file['icon'], $file['mime'], ' class="mime_icon"'); ?> <a href="<?php echo $file['href']; ?>" title="<?php echo $file['title']; ?>"><?php echo $file['link']; ?> <span class="size">(<?php echo $file['filesize']; ?>)</span></a></p> <?php endforeach; ?> </div> <!-- indexer::continue -->
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen