[PHP5] Schrift als Bild ausgeben

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

  • [PHP5] Schrift als Bild ausgeben

    Hi,

    ich habe eine Seitenüberschrift, die mit folgendem Code ausgegeben wird:
    Code:
                       <?php 
                         $pagetitle = '';
                         if ( $Itemid ) {
                            $menu = new mosMenu( $database );
                            $menu->load( $Itemid );
                            $pagetitle = $menu->name;
                         }  
                         echo $pagetitle; 
                       ?>
    So. Nun möchte ich den Inhalt der Variable "pagetitle" nicht als Text ausgegeben haben, sondern als ein Bild (jpg,png,gif,egal ...).
    Hat da einer von euch schon gewisse Erfahrungen gemacht?

    Gruß,
    GummiEimer

  • #2
    Ja.

    Kommentar


    • #3
      Ey, über sone Antwort freut man sich doch! Danke dir, hasch mir sehr geholfen.

      P.S.: Jemand mit knapp 21k Posts sollte - meine Meinung - begreifen, dass es sich um eine Frage handelte, oder etwa nicht?

      Kommentar


      • #4
        Wie war das mit den dummen Fragen?

        image

        Kommentar


        • #5
          Jo, danke, aber des hab ich schon gesehen. Das Problem ist, dass ich es dennoch nicht hinbekommen habe.

          Code:
                             <?php 
                               $pagetitle = '';
                               if ( $Itemid ) {
                                  $menu = new mosMenu( $database );
                                  $menu->load( $Itemid );
                                  $pagetitle = $menu->name;
                               } 
                               $im = imagecreate(150, 30); 
                               $textcolor = imagecolorallocate($im, 255, 255, 255);
                               $im = imagecreate(150, 30); 
                               imagestring($im, 3, 110, 10, $pagetitle, $textcolor); 
                               <!--                     echo $pagetitle; -->
                               imagejpeg($im, './contentheader.jpg');
                               $im = imagecreate(150, 30); imagedestroy($im);
                               $im = imagecreate(150, 30); echo("<img src=\"contenheader.jpg\" border=\"0\" />\n");
          
                             ?>
          => PHP ist seit einer Woche absolutes Neuland für mich. Hab da eigentlich nur irgendetwas zusammengeschustert (geht natürlich nicht).

          Kommentar


          • #6
            Ja, ,und jetzt. Kannst du dein Problem konkretisieren, oder hoffst du nur darauf, dass dir hier jemand den Code hinsemmelt?

            Kommentar


            • #7
              wie wärs mal mit dem referenzieren von der selben datei -> contenheader.jpg -> contentheader.jpg

              btw: schmeiss mal die doppeleten imagecreate befehle raus ...

              Kommentar


              • #8
                Öhm, was meinst du denn genau mit referenzieren?

                ============
                Sorry, muss aber mal sein:
                Sag mal TobiaZ, bist du mitm falschen Fuß ausm Bett gekommen oder wurdest du von deiner Freundin verlassen?
                "Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis!" -> So, und ich bin nunmal ein vollkommener Anfänger, du anscheinend nicht. Meine Güte krieg dich bitte wieder ein, ja?

                Kommentar


                • #9
                  du speicherst das bild als contentheader.jpg ab und später versuchst du es mit contenheader.jpg einzubinden .... fällt dir da nix auf?

                  Kommentar


                  • #10
                    Hoi Stimmt, da is mir doch tatsächlich nen t entwischt
                    Da kommt bei mir aber der Fehler:
                    Code:
                    Die Grafik "http://localhost/mambo/" kann nicht angezeigt werden, weil sie Fehler enthält.
                    Seltsam ist, dass es das einzige ist, was man dann von der Seite sieht. Ausserdem wird da ja auch gar kein Name der Grafik angegeben. Er versucht die komplette Homepage als ein Bild zu nehmen

                    Hab auch mal sowas versucht:
                    Code:
                                       <?php 
                                         $pagetitle = '';
                                         if ( $Itemid ) {
                                            $menu = new mosMenu( $database );
                                            $menu->load( $Itemid );
                                            $pagetitle = $menu->name;
                                         }  
                                         echo $pagetitle; 
                    
                                         header("Content-type: image/jpeg"); 
                                         $Bild = imageCreate (80, 30); 
                                         $Farbe = ImageColorAllocate($Bild,    255,255,255); 
                                         $Hintergrund = ImageColorAllocate($Bild,    0,0,0); 
                                         Imagefilledrectangle($Bild, 0,0,50,100, $Hintergrund); 
                                         ImageString($Bild,5,5,5,$pagetitle,$Farbe); 
                                         ImageJPEG($Bild); 
                                       ?>

                    Kommentar


                    • #11
                      bleib doch mal bei einer sache -> das de die ganze deite nur bild siehst ist doch klar:

                      header("Content-type: image/jpeg");
                      bleib doch bei deinem ersten versuch!
                      dann käme da noch imagjpeg brauch immer 3 paramter siehe php.net

                      komm du schaffst es

                      Kommentar


                      • #12
                        Danke nochmal Frank....

                        Also ich hab des jetzt auf dem Stand:
                        Code:
                                           <?php 
                                             $pagetitle = '';
                                             if ( $Itemid ) {
                                                $menu = new mosMenu( $database );
                                                $menu->load( $Itemid );
                                                $pagetitle = $menu->name;
                                             } 
                                             $im = imagecreate( 150, 30 ); 
                                             $textcolor = imagecolorallocate( $im, 255, 255, 255 ); 
                                             imagestring( $im, 3, 110, 10, $pagetitle, $textcolor ); 
                                             imagejpeg( $im, './contentheader.jpg', 90 );
                                             imagedestroy( $im );
                                             echo( "<img src=\"./contentheader.jpg\" border=\"0\" />\n" );
                                           ?>
                        => Und nun weiss ich wirklich nicht mehr weiter. Das sooft des $im neu definiert wird, hab ich auch mal rausgemacht. Imagejpeg hat auch die drei Parameter, die es benötigt. Name des Bildes ist beides mal der gleiche
                        Also das Problem zeigt sich dadurch, dass der Platz, an dem das Bild erscheinen sollte, einfach leer bleibt. Also davor hatte ich das Zeug unter der geschweiften Klammer ja mit
                        "echo $pagetitle;"
                        ersetzt gehabt.
                        Fällt dir vielleicht nochmal nen Fehler auf?

                        Kommentar


                        • #13
                          2 tipps

                          1) du produzierst grade weisse schrift auf weissem hintergrund!
                          2) guck doch im verzeichniss auch immer ob das bild erstellt wurde!

                          Kommentar


                          • #14
                            Trifft leider beides nicht zu
                            Sorry, hatte ich vorhin vergessen zu erwähnen. Aber das Bild existiert sowieso schon mal nicht, und ich hatte es extra weiss gemacht, damit ich es auf dem derzeit grauen Hintergrund sofort sehen könnte (-> ist aber nichts zu sehen).

                            Kommentar


                            • #15
                              ne das kann nicht sein ... mach

                              imagejpeg( $im, 'contentheader.jpg', 90 );

                              draus und ich wette mit dir das das bild auf deinem server liegt, guck mal genau nach bedenke das das bild dort generiert wird wo sich das script befindet welches das bild macht!

                              Kommentar

                              Lädt...
                              X