GIFBUILDER incl. Text-Rendering in Scheduler-Task - Pfadproblem

  • Julian.Hofmann Julian.Ho...
    Flash Gordon
    0 x
    2845 Beiträge
    105 Hilfreiche Beiträge
    10. 12. 2012, 11:11

    Hallo zusammen.

    Habe ein kleines Problem mit der Pfadüberprüfung von Fontfiles im GIFBUILDER, wenn dieser im Backend verwendet wird.

    Hintergrund ist, dass ich für eine Galerie viele Bilder mit Wasserzeichen (incl. Text) versehen müsste. On-demand läuft das initial im Frontend immer in Timeouts. Daher wollte ich die Bilder via Scheduler-Task vorgenerieren lassen.
    Nach etwas Recherche habe ich diverse Lösungen gefunden, wie man an ein cObject im Backend kommt, das TypoScript ausliest und auch, wie der GIFBUILDER im richtigen Verzeichnis arbeitet. Soweit funktioniert der GIFBUILDER auch. Als Problem erweist sich jedoch das Rendern von Text. Der Pfad zum Fontfile mag mir einfach nicht gelingen:
    - fileadmin/vera.ttf wird um PATH_typo3 ergänzt, um absoluten Pfad zu erhalten: /var/www/(...)/httpdocs/typo3/fileadmin/templates/fonts/vera.ttf - da ist das Verzeichnis "typo3" zuviel, da der Task in "typo3" arbeitet, der GIFBUILDER aber wohl von einer FE-Umgebung ausgeht (d.h. PATH_site als Basis)
    - [b][u]/var/www/(...)/[/u][/b]fileadmin/vera.ttf wird ganz verworfen und gegen Default (/var/www/(...)/httpdocs/typo3/t3lib/fonts/nimbus.ttf) ersetzt
    - [b][u]/[/u][/b]fileadmin/vera.ttf wird ganz verworfen und gegen Default (/var/www/(...)/httpdocs/typo3/t3lib/fonts/nimbus.ttf) ersetzt
    - [b][u]../[/u][/b]fileadmin/vera.ttf wird ganz verworfen und gegen Default (/var/www/(...)/httpdocs/typo3/t3lib/fonts/nimbus.ttf) ersetzt

    Soweit ich mich durchgehangelt habe, ist die Ursache in den Funktionen tslib_gifBuilder::checkFile() und t3lib_stdGraphic::prependAbsolutePath() zu suchen.

    Hat irgendwer eine Idee? Einen Ansatz? Vielelicht sogar schon eine Lösung?

    Mir sind die Ideen ausgegangen... :-(

    Viele Grüße
    Julian


  • 1
  • danton danton
    Jedi-Meister
    0 x
    298 Beiträge
    4 Hilfreiche Beiträge
    14. 12. 2012, 10:35

    Hi

    Mir ist zwar nicht ganz klar warum Du was per Scheduler vorladen willst aber ok :-)

    Bei mir sieht das z.b. so aus

    1. 10 = IMAGE
    2. 10{
    3. wrap = |
    4. file = GIFBUILDER
    5. file{
    6. XY = 1920,1080
    7. format = jpg
    8. quality = 80
    9.  
    10. 10 = IMAGE
    11. 10{
    12. file = fileadmin/bilder/dyn/dyn_pic_kreisverlauf.png
    13. }
    14.  
    15. 20 = TEXT
    16. 20{
    17. text = Dein Text
    18. fontSize = 101
    19. fontFile = fileadmin/templates/font/deineschrift.ttf
    20. offset = 0,1080/2+32
    21. align = center
    22. }
    23. }
    24. }

    Gruß Niels

    "Das Universum ist vollkommen. Es kann nicht verbessert werden. Wer es verändern will, verdirbt es. Wer es besitzen will, verliert es." - Laozi

  • Julian.Hofmann Julian.Ho...
    Flash Gordon
    0 x
    2845 Beiträge
    105 Hilfreiche Beiträge
    14. 12. 2012, 10:49

    Hallo Nils.
    Danke für die Antwort. Die prinzipielle Syntax bzw. das Zusammenbasteln des TypoScript für Bild mit Wasserzeichen ist mir klar und funktioniert im Frontend auch.
    Ich bräuchte das Ganze aber funktuionsfähig im Backend. Und da würde die Zeile "fontFile = fileadmin/templates/font/deineschrift.ttf" aufgrund der automatischen Pfadergänzung scheitern. Genau dafür suche ich eben nach einer Lösung.

  • danton danton
    Jedi-Meister
    0 x
    298 Beiträge
    4 Hilfreiche Beiträge
    14. 12. 2012, 10:59

    Hi

    Für was im BE wenn Du die Bilder im FE ausgibst?

    Gruß Niels

    "Das Universum ist vollkommen. Es kann nicht verbessert werden. Wer es verändern will, verdirbt es. Wer es besitzen will, verliert es." - Laozi

  • Julian.Hofmann Julian.Ho...
    Flash Gordon
    0 x
    2845 Beiträge
    105 Hilfreiche Beiträge
    14. 12. 2012, 11:18

    Eine Galerie, die pro Seite ca 30 Fotos ausgibt, die jeweils mit ca. 3MB hinterlegt sind, braucht eeeewig, um die Bilderzeugung vorzunehmen. Im besten Fall wartet der Besucher nur ewig, im worst-case läuft das ganze in ein PHP-Timeout. Daher soll eben ein Scheduler-Task via Cronjob das ganze nachts vorgenerieren,s odass die Bilder bereits fix und fertig in typo3temp/pics/ liegen und der Besucher schnell die Anzeige bekommt. Via CLI aufgerufen, gilt eine andere PHP-Laufzeit bzw. ist es dem Cronjob auch egal wenn er ggf etwas warten muss.

  • danton danton
    Jedi-Meister
    0 x
    298 Beiträge
    4 Hilfreiche Beiträge
    14. 12. 2012, 11:41

    Servus

    Sorry da kann ich Dir nicht weiter helfen.
    Vielleicht hilft Dir die [url=http://www.imagemagick.org/script/index.php]>Doku<[/url] von ImageMagick was ja Grundlage ist weiter.

    Gruß Niels

    "Das Universum ist vollkommen. Es kann nicht verbessert werden. Wer es verändern will, verdirbt es. Wer es besitzen will, verliert es." - Laozi

  • 1