Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] PHP - Bild erstellen mit Text

Einklappen

Neue Werbung 2019

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

  • [Erledigt] PHP - Bild erstellen mit Text

    Hey,

    hab mir was kleines zusammengebastelt, funktionierte auch nur wenn ich die Font Family anpassen will erscheint kein Text mehr.

    PHP-Code:
    <?php
    header
    ("Content-type: image/png"); 
        
        
    $Bild=ImageCreateFromPng("sig.png"); 
        
    $schriftart imageloadfont("gallery/v1/style/Ubuntu-R.ttf");
        
    $Farbe=ImageColorAllocate($Bild000); 
        
    ImageString($Bild5030050$server->users_online ." Online"$Farbe$schriftart); 

        
    ImagePNG($Bild); 
        
    imagedestroy($Bild); 
        
    ?>
    An der Variable liegt es nicht, hab mal $schriftart entfernt und danach klappte es, brauche aber die Schriftart

  • #2
    http://de.php.net/imagestring

    Parameterreihenfolge beachten

    Kommentar


    • #3
      imagettftext

      Kommentar


      • #4
        @rkr geht trotzdem nicht.
        @Durin hab jetzt wirklich jede Reihenfolge versucht, klappt auch nicht.
        PHP-Code:
        <?php
            header
        ("Content-type: image/png"); 
            
            
        $Bild=ImageCreateFromPng("sig.png"); 
            
        $schriftart imageloadfont("gallery/v1/style/Ubuntu-R.ttf");
            
        $Farbe=ImageColorAllocate($Bild000); 
            
        $text $server->users_online ." Online";
            
        imagettftext($Bild50300500$Farbe$schriftart$text); 

            
        ImagePNG($Bild); 
            
        imagedestroy($Bild); 
            
        ?>

        Kommentar


        • #5
          geht nicht ist die super fehlerbeschreibung!
          docu lesen bildet:
          Zitat von http://php.net/manual/en/function.imagettftext.php
          The y-ordinate. This sets the position of the fonts baseline, not the very bottom of the character.
          es geht, aber das ergebniss ist nicht das erwartete?

          Kommentar


          • #6
            Mit "geht nicht" meinte ich das kein Text angezeigt wird.. :P
            Danke für den Link, der Text wird jetzt mit der richtigen Font angezeigt.

            Edit: Noch ganz wichtig, ist es irgendwie möglich HTML zu verwenden? Bzw. möchte ich ein zweites Bild auf dem Bild anzeigen lassen..

            Kommentar


            • #7
              Ein Bild ist ein Bild, kein HTML. Wenn Du HTML willst, dann binde das Bild entsprechend ein.
              [COLOR="#F5F5FF"]--[/COLOR]
              [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
              [COLOR="#F5F5FF"]
              --[/COLOR]

              Kommentar


              • #8
                Und den Text auf das Bild krieg ich auch einfach so drauf?

                "Bild2" ist nur ein Bild, Bild1 hingegen ein Bild mit einem Text, dieser Text ist aus der Datenbank und ändert sich auch jede Minute (Online Anzeige).

                Hab mal als Text HTML versucht klappt aber nicht. Der HTML Tag wird einfach als Text wiedergegeben, sprich folgendermaßen:
                <h>test</u>

                Kommentar


                • #9
                  Zitat von SchokoBrunnen Beitrag anzeigen
                  <h>test</u>
                  Ich glaub das ist das kürzeste Beispiel für falsches HTML das ich je gesehen habe.

                  HTML wird üblicherweise vom Browser gerendert. Dein PHP-Code wird allerdings nie einen Browser sehen - wer soll also das HTML in deinem PHP-Code entsprechend umwandeln?

                  Je nachdem was du machen willst machst du entweder mit PHP 2 Bilder (intern) und platzierst dann eines auf dem anderen. Also im Endeffekt so wie bei einem Wasserzeichen. (Damit findet man sicher auch Tutorials.) Damit ist natürlich kein HTML möglich.

                  Oder du lässt dir eben Bilder + HTML ausgeben. Da kannst du ganz normal HTML verwenden, es ist aber eben nicht EIN Bild, sondern eine ganz normale HTML-Seite. Funktioniert also z.B. nicht wenn du das hier in die Signatur packen würdest.

                  Kommentar


                  • #10
                    er will doch nur canvas. http://diveintohtml5.info/canvas.html

                    Kommentar


                    • #11
                      Das ist aber der Sinn von diesem "Bild", es soll als Werbebanner in der Signatur dienen.
                      Und danke für den Tipp mit dem Wasserzeichen, hab dieses hilfreiche Tutorial gefunden:

                      https://www.bauer-martin.com/allgeme...it-php-93.html

                      Muss nur noch der Text rein, wenn ich es alleine hinkriege stempel ich den Thread als erledigt ab, ansonsten melde ich mich nochmal. .p

                      Danke an dich und moma.

                      Edit: Kriege das mit dem Text nicht hin, sobald ich die Variable $text einfüge wird der Hintergrund schwarz, das zweited Bild bleibt jedoch.

                      PHP-Code:
                      <?php
                          
                      // Header setzten
                          
                      header('Content-type: image/png');
                           
                          
                      // Bilder laden
                          
                      $imgsrc imagecreatefrompng('bild1.png');
                          
                      $imgzeichen imagecreatefrompng('bild2.png');
                           
                          
                      // Bild Infos
                          
                      $width imagesx($imgsrc);
                          
                      $height imagesy($imgsrc);
                           
                          
                      // Bilder erzeugen
                          
                      $img imagecreatetruecolor($width$height);
                          
                          
                      // Text
                          
                      $text "h";
                          
                          
                      // Bild einfügen
                          
                      imagecopy($img$imgsrc0000$width$height$text);
                          
                      // Wasserzeichen einfügen
                          
                      imagecopy($img$imgzeichen55350064100);
                           
                          
                      // Bild anzeigen
                          
                      imagepng($img);
                           
                          
                      // Speicher freigeben
                          
                      imagedestroy($img);

                      ?>

                      Kommentar


                      • #12
                        imagecopy und Text? Ähmmmm, bitte nicht raten, sondern die Augen aufmachen und nachdenken. Einfach ein paar Funktionen zusammenwürfeln und dann noch mit falschen Parametern führt selten zum Ziel
                        Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

                        Kommentar


                        • #13
                          Ist es möglich zwei Bilder zu nutzen und trotzdem den Text anzeigen zu lassen? Wenn ja, wie?

                          Kommentar


                          • #14
                            Zitat von SchokoBrunnen Beitrag anzeigen
                            @rkr geht trotzdem nicht.
                            @Durin hab jetzt wirklich jede Reihenfolge versucht, klappt auch nicht.
                            Das braucht man nicht versuchen, das kann man nachlesen!

                            In dem man sowohl ImageCopy als auch ImageTTFText/ImageString verwendet, und zwar mit den richtigen Parametern und in der richtigen Reihenfolge.

                            de.php.net/imagecopy
                            de.php.net/imagestring
                            de.php.net/imagettftext

                            Kommentar


                            • #15
                              Vielen Dank, klappt jetzt super.

                              Kommentar

                              Lädt...
                              X