Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Problem mit Font (.ttf)

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Problem mit Font (.ttf)

    Guten Abend,

    ich habe meinen Fehler nun soweit lokalisiert, dass ich weiß, was nicht funktioniert, nur leider bekomme ich es trotz tüfteln nicht ganz auf die Reihe.

    Ich habe ein Captcha-Script geschrieben, nur das mit der Font-Datei will nicht so ganz klappen.

    PHP-Code:
    ImageString ($img52020$inhalt$text_color); 
    funktioniert einwandfrei
    das hingegen nicht:
    PHP-Code:
    $font='./font/aapex.ttf';
    ImageString ($img$font2020$inhalt$text_color); 
    dasselbe gilt auch für
    PHP-Code:
    imagettftext($img18$angle2020$text_color$font$inhalt); 
    Diese Aapex.ttf habe ich auf einer Website(http://www.webpagepublicity.com/free-fonts-t2.html) heruntergeladen und in den Unterordner "font" kopiert.

    Habt ihr eine Ahnung, warum das ganze nicht klappt und der Browser immer sagt, dass es sich um ein fehlerahftes Bild handelt?

    Viele Grüße
    Tobi

  • #2
    Versuche mal bei $font einen absoluten Pfad, also

    $font = $_SERVER['DOCUMENT_ROOT'] . "/font/aapex.ttf";

    Ansonsten poste mal das ganze Script

    Kommentar


    • #3
      Was bekommst du als Fehlermeldung ausgegeben?
      [IMG]http://media.ubuntuusers.de/portal/files/ubuntu.png[/IMG][IMG]http://sqlmanager.net/i/ico/mysql.gif[/IMG][SIGPIC][/SIGPIC]

      Kommentar


      • #4
        imagestring() gibt den string s in dem durch den parameter im bezeichneten bild an den koordinaten x und y aus. Die koordinaten 0, 0 geben die linke obere ecke des bildes im an. Der font erscheint in der farbe col. Hat font den wert 1, 2, 3, 4 oder 5 wird ein interner font benutzt.

        siehe auch imageloadfont().
        rtfm...
        Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

        Kommentar


        • #5
          @lstegelitz: Selber RTFM - imageloadfont ist für Bitmap-Fonts gedacht.


          @Tobias3339: Die Nutzerkommentare im Manual haben einiges an Hinweisen, was man unternehmen kann, damit die TTF-Datei korrekt gefunden wird.
          „Nur“ den korrekten Pfad angeben, reicht im Zusammenspiel mit der GD-Lib leider nicht immer.
          [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

          Kommentar


          • #6
            Die Fehlermeldung im Firefox lautet:

            "Die Grafik view-source:http://localhost/..../createcaptcha.php kann nicht angezeigt werden, weil sie Fehler enthält."

            Nur diese Fehlermeldung hilft mir unheimlich weiter, weil sie mir ja genau verrät wo ich suchen soll...

            Bin leider etwas aufgeschmissen, hab den Captcha schon komplet neu geschrieben, es scheitert nur an der Font.

            Auch mit imageloadfont komme ich nicht weiter...

            Kommentar


            • #7
              Quellcode?!?! Zeige uns den Quellcode, Hellseher ist hier niemand.

              Kommentar


              • #8
                nimm mal das erstellen der Grafik als letzten Befehl heraus durch auskommentieren und ruf die Datei statt <img src="x.php" mal so auf

                oder verbiegst du den header . dann kommentiere das aus

                und wo du schon dabei bist .. dreh das error reporting hoch - php wird dann sehr auskunftsfreudig, wenn es "wo" klemmt
                "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste [IMG]http://www.php.de/core/images/smilies/icon_lol.gif[/IMG]

                Kommentar


                • #9
                  Zitat von Tobias3339 Beitrag anzeigen
                  Die Fehlermeldung im Firefox lautet:

                  "Die Grafik [...] kann nicht angezeigt werden, weil sie Fehler enthält."
                  Natürlich - weil PHP selber Fehlermeldungen ausgibt, in dem, was eigentlich die binären Bilddaten sein sollen. Dass die sich damit nicht mehr vernünftig als Bild interpretieren lassen, ist klar.

                  Und dass man sich dann diese Daten mal genauer anschaut (header auskommentieren, Ressource direkt aufrufen) - da sollte man auch drauf kommen können, wenn man mal ein bisschen nachdenkt ...
                  [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

                  Kommentar


                  • #10
                    hab ich alles schon ausprobiert und am nachdenken sollte es eigentlich nicht scheitern...
                    fehlermeldung:
                    Code:
                    Warning: imagestring() expects parameter 2 to be long, string given in
                    wie soll ich diese fehlermeldung interpretieren? ich dachte ich könnte da so den dateipfad der .ttf datei einfügen?


                    code nochmal hier:

                    PHP-Code:
                    $text_color imagecolorallocate($imgrand(100155), rand(100155), rand(100155));
                    $font $_SERVER['DOCUMENT_ROOT'] . "/font/Aapex.ttf";
                    $chrrand(0,9);
                    ImageString ($img$font2020$chr$text_color); 

                    Kommentar


                    • #11
                      RTFM...

                      http://de2.php.net/imagestring
                      http://de2.php.net/manual/en/function.imageloadfont.php
                      [IMG]http://media.ubuntuusers.de/portal/files/ubuntu.png[/IMG][IMG]http://sqlmanager.net/i/ico/mysql.gif[/IMG][SIGPIC][/SIGPIC]

                      Kommentar


                      • #12
                        Falsche Funktion, benutze http://de2.php.net/manual/de/function.imagettftext.php

                        Kommentar


                        • #13
                          ok, nun funktioniert es

                          bei der funktion imagettftext klappte es auch nicht sofort, da der die .ttf datei nicht akzeptieren wollte aber für alle die dasselbe problem haben, einfach die .ttf datei mit dem php script in denselben order ziehen, dann geht es problemlos

                          dankeschön für alle vorschläge und anregungen

                          Kommentar

                          Lädt...
                          X