Ankündigung

Einklappen
Keine Ankündigung bisher.

Text in Bild

Einklappen

Neue Werbung 2019

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

  • Text in Bild

    Hallo, habe folgenden Quellcode für mein Vorhaben gefunden, und ihn angepasst, aber der Beispieltext wird in dem Bild nicht angezeigt. Das Bild joker.jpg selbst wird angezeigt, aber vom Text fehlt jede Spur ?

    PHP-Code:
    <?php
    // Definition des Dateityps
    header('Content-type: image/jpeg');

    // Quellbild
    $jpg imagecreatefromjpeg('images/joker.jpg');

    // Textfarbe
    $white imagecolorallocate($jpg2552550);

    // Definition der Schriftart mit einer ttf
    $font 'fonts/ZillaSlab-Regular.ttf';

    // Text aus der URL nehmen
    //$text = $_GET['text'];
    $text "aklklkcmlwiperwkcömkewö";

    // Text auf das Bild setzen. Quellbild, Schriftgröße, Rotieren, X, Y, Farbe, Schriftart, Text
    imagettftext($jpg24000$white"arial.ttf"$text);

    // Bild an Browser übergeben
    imagejpeg($jpg);

    // Cache löschen
    imagedestroy($jpg);
    ?>

  • #2
    hab das jetzt hinbekommen und noch ne Frage dazu.

    Ich möchte von meinem ersten PHP-Script, wo ich den Text für das Bild erzeuge (Variable $text)

    diese Variable an das 2. Script (text_in_bild.php) übergeben.

    Wie rufe ich im ersten script das 2. script auf mit übergabe und übernahme der Variable?

    Kommentar


    • #3
      Zitat von Huber Beitrag anzeigen
      Wie rufe ich im ersten script das 2. script auf mit übergabe und übernahme der Variable?
      https://www.php.net/manual/de/sessio...ples.basic.php

      Kommentar


      • #4
        danke, aber das ist mir soweit klar, habe in meinem Script ja die Variable.

        ich bekomme es aber nicht hin, wie ich nach jedem Aufruf des ersten PHP-Scriptes - das zweite wo die Variable in das Bild geschrieben wird - AUTOMATISCH aufgerufen wird (ohne auf irgendwas zu klicken)

        und dabei soll immer das Bild mit dem derzeitigen Stand der Variable im Bil zurück kommen, also im Browser angezeigt werden.

        Kannst Du mir da bitte ein Besipiel zeigen.

        hier nochmal beide Scripte, wie ich die zur Zeit habe und EINZELN aufgerufen wunderbar funktionieren...

        1. session.php (rufe ich 7 mal auf mit übergabe ?zahl=xxx
        PHP-Code:
        <?php
        session_set_cookie_params
        (10800);
        session_start();

        // dreistellige Übergabezahl beim Aufruf
        // 1. Stelle : 1, 2, 3.... Zahl bei Ziehung
        // 2. & 3. Stelle ist die gezogene Zahl
        $zahl $_GET["zahl"];

        //Zahl zerlegen
        $ziehung substr($zahl,0,1);
        $gezogen substr($zahl,1,2);

        echo 
        $ziehung '*' $gezogen '<br>';

        //session-Variablen auf leer setzen, wenn Spielnummer = 0
        if ($ziehung == '0'){
            
        $_SESSION['z1'] = '';
            
        $_SESSION['z2'] = '';
            
        $_SESSION['z3'] = '';
            
        $_SESSION['z4'] = '';
            
        $_SESSION['z5'] = '';
            
        $_SESSION['z6'] = '';
            
        $_SESSION['z7'] = '';
        }

        if (
        substr($gezogen,0,1) == '0'){
            
        $gezogen substr($gezogen,1,1);
        }

        /*

        if ($ziehung == '1') {
            $_SESSION['z1'] = $gezogen;
        }

        if ($ziehung == '2') {
            $_SESSION['z2'] = $gezogen;
        }

        if ($ziehung == '3') {
            $_SESSION['z3'] = $gezogen;
        }

        if ($ziehung == '4') {
            $_SESSION['z4'] = $gezogen;
        }

        if ($ziehung == '5') {
            $_SESSION['z5'] = $gezogen;
        }

        if ($ziehung == '6') {
            $_SESSION['z6'] = $gezogen;
        }

        if ($ziehung == '7') {
            $_SESSION['z7'] = $gezogen;
        }

        */


        for($i='1'$i '8'$i++) {
            if(
        $ziehung == $i){
                
        $_SESSION['z' $i] = $gezogen;
            }
        }


        $ergebnis '1: ' $_SESSION['z1'] . '<br>' .
            
        '2: ' $_SESSION['z2'] . '<br>' .  
            
        '3: ' $_SESSION['z3'] . '<br>' .  
            
        '4: ' $_SESSION['z4'] . '<br>' .
            
        '5: ' $_SESSION['z5'] . '<br>' .
            
        '6: ' $_SESSION['z6'] . '<br>' .
            
        '7: ' $_SESSION['z7'];



        echo 
        '1: ' $_SESSION['z1'] . '<br>' .
            
        '2: ' $_SESSION['z2'] . '<br>' .  
            
        '3: ' $_SESSION['z3'] . '<br>' .  
            
        '4: ' $_SESSION['z4'] . '<br>' .
            
        '5: ' $_SESSION['z5'] . '<br>' .
            
        '6: ' $_SESSION['z6'] . '<br>' .
            
        '7: ' $_SESSION['z7'];

        //include("text_in_bild.php")

        ?>
        2. text_in_bild.php (hier soll immer die aktuelle Variable $ergebnis in das Bild geschrieben werden und im Browser angezeigt werden
        PHP-Code:
        <?php

        // Dateityps
        header('Content-type: image/jpeg');

        // Bild
        $jpg imagecreatefromjpeg('images/joker.jpg');

        // Textfarbe
        $white imagecolorallocate($jpg000255);

        // Schriftart mit einer ttf
        $font 'fonts/Myriad-Pro_31655.ttf';

        // Text für das Bild
        $zahlen "aklklkcmlwiperwkcömkewö";

        // Text auf das Bild setzen. Quellbild, Schriftgröße, Rotieren, X, Y, Farbe, Schriftart, Text
        imagettftext($jpg2405050$white"fonts/Myriad-Pro_31655.ttf"$zahlen);

        // Bild an Browser übergeben
        imagejpeg($jpg);

        // Cache löschen
        imagedestroy($jpg);

        ?>

        Kommentar


        • #5
          Steht im verlinkten Artikel. Die Sessionvariablen werden "automatisch" mit session_start() geladen.

          Kommentar


          • #6
            JA, weiß ich, weiß nict ob ich mich richtig ausgedrückt habe:

            WIE rufe ich in der session.php AUTOMATISCH jedes Mal die text_in_bild.php auf?

            mit dem include (hab es ja als Kommentar im Moment) geht es nicht und es werden nur wilde Zeichen angezeigt .

            Probier es doch mal bitte aus, dann weißt du was ich meine

            Kommentar


            • #7
              Zitat von Huber Beitrag anzeigen
              WIE rufe ich in der session.php AUTOMATISCH jedes Mal die text_in_bild.php auf?
              HTML-Code:
              <img src="text_in_bild.php" alt="…" />
              ?

              Kommentar


              • #8
                danke dir....

                jetzt hab ich in der session.php unten eingefügt:
                PHP-Code:
                $_SESSION['ergebnis'] = $ergebnis;

                ?>

                <img src="text_in_bild.php" alt="…" /> 
                und in der text_in_bild.php oben
                PHP-Code:
                <?php
                session_start
                ;
                $ergebnis $_SESSION['ergebnis'];

                // Dateityps
                header('Content-type: image/jpeg');

                // Bild
                $jpg imagecreatefromjpeg('images/joker.jpg');

                // Textfarbe..........
                aber es wird nun nix im Bild von dem Text angezeigt, der ja in der session.php von den ganzen Variablen immer kommt

                Kommentar


                • #9
                  Du solltest mal die Fehleranzeige anschalten:

                  https://php-de.github.io/jumpto/faq/#debugging

                  Es heisst:
                  PHP-Code:
                  session_start(); 
                  und nicht

                  PHP-Code:
                  session_start

                  Kommentar


                  • #10
                    Juchuu, jetzt funzt es, da hab ich nicht aufgepasst mit der Schreibweise. In der anderen stand es ja richtig.
                    Jetzt wird im Browser das Bild mit der immer aktuellen $ergebnis angezeigt im Bild

                    jetzt habe ich noch eine abschließesnde Bitte / Frage:

                    wie bekomme ich es hin, das bei JEDEM AUFRUF der session.php die Rückgabe eine Bildadresse ist, welche das aktuelle Bild verkörpert?

                    also die Rückgabe muss eine URL des Bildes sein?

                    Hoffe ich hab mich richtig ausgedrückt

                    Kommentar


                    • #11
                      Warum eine URL? Warum lieferst du nicht gleich direkt das Bild aus?

                      Kommentar


                      • #12
                        Das ist natürlich noch besser. Wenn ich das Bild jedes Mal in z.b. images/Ergebnis.jpg überschreiben könnte und dann aufrufen zur Anzeige.
                        wie muss ich das denn machen? Hast du da bitte mal ein Beispiel anhand meines Script es wo da noch was hin oder geändert werden muß?
                        Software kann so schön sein - wenn sie dann mal geht...

                        Kommentar


                        • #13
                          Zitat von weberkrebs Beitrag anzeigen
                          Das ist natürlich noch besser. Wenn ich das Bild jedes Mal in z.b. images/Ergebnis.jpg überschreiben könnte und dann aufrufen zur Anzeige.
                          Wozu? Warum nicht die Bilddaten direkt ausliefern? Warum der Umweg über eine Datei?

                          Kommentar


                          • #14
                            Ok, kannst du bitte ein Beispiel geben, wie ich das machen muss?
                            Software kann so schön sein - wenn sie dann mal geht...

                            Kommentar


                            • #15
                              Das machst du doch bereits schon mit imagejpeg().

                              Kommentar

                              Lädt...
                              X