mehrfarbieger Text als Grafikausgaben, Daten aus Liste

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

  • mehrfarbieger Text als Grafikausgaben, Daten aus Liste

    Hi,

    ich habe leider so gut wie keine ahnung von php und konte kein annähend passendes fertiges script finden.

    Was am ende rauskommen soll:

    Eine Grafik die mehrfarbiegen Text enthält welcher aus einer Liste bzw Datenbank Datei (oder evtl. mysql) abgerufen werden soll.

    Endergebnis soll diese ausgabe sein:



    Bildbreite: 468pixel, hintergrund kann auch transparent sein. die ( ) und / können auch schwarz sein.
    texthöhe: 4

    Aufruf:
    Ausgabe eines Bildes über bewertungen.php?user=username
    oder was wohl besser wäre wegen leerzeichen im usernamen:
    bewertungen.php?user=user_id

    Also das es so in eine Seite eingebunden werden kann:
    Code:
    <img src="http://.......bewertungen.php?user=user_id">

    Was ich habe: ein Programm was mir Werte einer damit ausgearbeiteten Liste in ein Zeilen template ausgeben kann (also auch eine Liste die in eine mysql könte).

    Es sind über 1000 User mit Bewertungen.

    Ich habe auf meinen eigenen Webspace ( hostet bei ready2host.de ) wo erstmal das script und die Daten abgelegt werden sollen php5 und kann dort auch Mysql benutzen. Auch ein Cronjob wäre kein problem.


    Ich habe selbst schon ein paar anfängliche klägliche versuche (einfarbiger anderer gesammt Text) gemacht mit imagestring und einem if ob es über so geht...

    Aber selbst da kommt schon ein unexpectet { in zeile 16


    PHP-Code:
    <?php
    $platzhalter 
    "---------------------------------------------";
    $textnr 4;
    $textbreite imagefontwidth($textnr) * strlen($platzhalter);
    $texthoehe  imagefontheight($textnr);

    header ("Content-type: image/png");
    $bild imagecreate ($textbreite $texthoehe);

    $hintergrund_farbe  imagecolorallocate ($bild222222222);
    $text_farbe        imagecolorallocate ($bild000);

    imagestring ($bild$textnr00$userinfos$text_farbe);
    imagepng ($bild);

    $userinfos = {if($user==){
       echo 
    " Bitte Usernamen angeben ";
    } else if(
    $user==thx-sound){
       echo 
    " thx-sound 42 - 0 - 0 ";
    } else if(
    $user==sirmasterlord){
       echo 
    " sirmasterlord 30 - 0 - 0 ";
    } else {
       echo 
    " Ungueltiger Username ";

    }
    ;

    ?>

    Vielleicht kann mir (bzw. dem Portal wofür ich das suche) jemand helfen.

    Gruss Stefan

  • #2
    Zitat von thx-sound Beitrag anzeigen
    Aber selbst da kommt schon ein unexpectet { in zeile 16
    Dann solltest du erst mal die Grundlagen der Syntax erlernen, bevor du dich an "kompliziertere" Dinge wie dynamische Bildgenerierung heranwagst.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Ist es den überhaupt möglich mehrfarbiegen text in eine Grafik zu stecken bzw das alles zu machen?


      Habe leider keine wirkliche Zeit nen php kurs zu machen.
      War eigentlich auf der Suche nach einen einfach zu ändernden php script was meine zwecke erfüllt - es gibt ja eigentlich soviele. Nur nicht das passende.

      Habe vor ein paar jahren aber meine eigene webseite immerhin mit dem include befehl gebastelt so das ich nicht auf jeder Unterseite die navigation abändern muss und auch eine zweite einfach mit ausgeben lassen kann wenn ich möchte.
      ]-THX-[ Sound
      Bei meiner lösung dreht sich bestimmt jeden phpler der magen um^^
      Die Download einträge sind aber nur normales html ohne eine datenbank.

      Gruss Stefan

      Kommentar


      • #4
        Zitat von thx-sound Beitrag anzeigen
        Ist es den überhaupt möglich mehrfarbiegen text in eine Grafik zu stecken bzw das alles zu machen?
        Sicher ... Farbe setzen, Text ausgeben, neue Farbe setzen, Text schreiben ...

        Alles mit den GD-Lib Funktionen machbar. PHP: GD - Manual
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Hatt letzte Nacht schon sowas mit mehrfach imagestring versucht (ohne was drüber zu wissen) . Aber leider:
          Die Grafik "http://www.thx-sound.com/bewertungfarbtest.php" kann nicht angezeigt werden, weil sie Fehler enthält.

          PHP-Code:
          <?php
          $platzhalter 
          "---------------------------------------------";

          $textnr 4;
          $textbreite0 imagefontwidth($textnr) * strlen($platzhalter);
          $textbreite1 imagefontwidth($textnr) * strlen($leer);
          $textbreite2 imagefontwidth($textnr) * strlen($ausgabe1);
          $textbreite3 imagefontwidth($textnr) * strlen($anfang);
          $textbreite4 imagefontwidth($textnr) * strlen($ausgabe2);
          $textbreite5 imagefontwidth($textnr) * strlen($trenner);
          $textbreite6 imagefontwidth($textnr) * strlen($ausgabe3);
          $textbreite7 imagefontwidth($textnr) * strlen($trenner);
          $textbreite8 imagefontwidth($textnr) * strlen($ausgabe4);
          $textbreite9 imagefontwidth($textnr) * strlen($ende);

          $texthoehe  imagefontheight($textnr);

          header ("Content-type: image/png");
          $bild0 imagecreate ($textbreite0 $texthoehe);
          $bild1 imagecreate ($textbreite1 $texthoehe);
          $bild2 imagecreate ($textbreite2 $texthoehe);
          $bild3 imagecreate ($textbreite3 $texthoehe);
          $bild4 imagecreate ($textbreite4 $texthoehe);
          $bild5 imagecreate ($textbreite5 $texthoehe);
          $bild6 imagecreate ($textbreite6 $texthoehe);
          $bild7 imagecreate ($textbreite7 $texthoehe);
          $bild8 imagecreate ($textbreite8 $texthoehe);
          $bild9 imagecreate ($textbreite9 $texthoehe);


          $hintergrund_farbe  imagecolorallocate ($bild1222222222);
          $text_farbe0        imagecolorallocate ($bild0000);
          $text_farbe1        imagecolorallocate ($bild1000);
          $text_farbe2        imagecolorallocate ($bild2000);
          $text_farbe3        imagecolorallocate ($bild3000);
          $text_farbe4        imagecolorallocate ($bild44613987);
          $text_farbe5        imagecolorallocate ($bild5000);
          $text_farbe6        imagecolorallocate ($bild600255);
          $text_farbe7        imagecolorallocate ($bild7000);
          $text_farbe8        imagecolorallocate ($bild825500);
          $text_farbe9        imagecolorallocate ($bild9000);

          imagestring ($bild1$textnr00$leer$text_farbe1);
          imagestring ($bild2$textnr00$ausgabe1$text_farbe2);
          imagestring ($bild3$textnr00$anfang$text_farbe3);
          imagestring ($bild4$textnr00$ausgabe2$text_farbe4);
          imagestring ($bild5$textnr00$trenner$text_farbe5);
          imagestring ($bild6$textnr00$ausgabe3$text_farbe6);
          imagestring ($bild7$textnr00$trenner$text_farbe7);
          imagestring ($bild8$textnr00$ausgabe4$text_farbe8);
          imagestring ($bild9$textnr00$ende$text_farbe9);
          imagepng ($bild0);

          $trenner " / ";
          $anfang " ( ";
          $ende " ) ";
          $leer " ";
          $ausgabe1 "thx-sound";
          $ausgabe2 "42";
          $ausgabe3 "0";
          $ausgabe4 "0";

          ?>

          Kommentar


          • #6
            Zitat von thx-sound Beitrag anzeigen
            Die Grafik "http://www.thx-sound.com/bewertungfarbtest.php" kann nicht angezeigt werden, weil sie Fehler enthält.
            header()-Aufruf auskommentieren, Script direkt über die Adresszeile des Browsers aufrufen - dann bekommst du jede Menge wunderschöner Fehlermeldungen zu sehen :-)
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              schön jetzt stehen zu mindest fehlermeldung da - aber damit kann ich nix anfangen XD
              Woher soll ich wissen wie ne korrekte Dimension ist?
              Ich habe einfach ein script genommen und das ganze ver mehefacht nach logischen sinn (und hoffnung).. in der hofnung das der dann das alles in ein bild mit den größen von bild0 rein haut XD


              Ich weiß ja nicht wie die korrekt sein müssten *g*

              aufruf: http://www.thx-sound.com/bewertungfarbtest.php



              Ich glaub ich ruf die 11880 an, da werden sie geholfen?


              Ist ja auch ne Fehler Auskunft

              Kommentar


              • #8
                Zitat von thx-sound Beitrag anzeigen
                Woher soll ich wissen wie ne korrekte Dimension ist?
                Nummerische Werte grösser 0 wären vielleicht ein guter Anfang ...
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Ich habe nacher 4 werte die je nach User verschieden sind.
                  usernamenlänge, und die 3 zahlenwerte.

                  Wobei die größe des usernamens die größte schwankung ist (etwas zwischen 2 bis 35 Zeichen. die anderen sind höchstens max. 3-4stellig

                  Und die Wertangabe ist dann in Pixel oder Textzeichen?

                  Gruss Stefan
                  Zuletzt geändert von thx-sound; 23.05.2009, 21:17.

                  Kommentar


                  • #10
                    Zitat von thx-sound Beitrag anzeigen
                    Ich habe nacher 4 werte [...]
                    Derzeit hast du mindestens einen ungültigen Wert ...

                    Also kontrolliere die Werte, mache Testausgaben.

                    Und die Wertangabe ist dann in Pixel oder Textzeichen?
                    Natürlich sind die Bildmaße in Pixel, dass sind sie doch fast immer und überall, wo man mit Bitmap-Grafiken arbeitet.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      habe mal eine grundlegende wichtige Frage zu meinen mehrfach imagesstrings da ich nichts wirklich dazu finde:

                      Werden die automatisch hintereinander gemacht oder landen die wie ich fürchte alle an der gleichen position (0,0) übereinander?


                      Also muss ich die wohl positionieren?
                      Und beim positionieren gibt es dann ja das Problem der flexiblität. Es Müßte ja immer alles vorherige in der X achse zusammengerechnet werden um die position des nächsten zu ermitteln. Richtig?

                      Und wie geht das nun?

                      Kommentar


                      • #12
                        Wenn du mit imagestring arbeitest, ist jedes Zeichen gleich breit. Die Breite eines Zeichens kannst du mit imagefontwidth herausfinden.

                        Kommentar


                        • #13
                          Zitat von PHP-Desaster Beitrag anzeigen
                          Wenn du mit imagestring arbeitest, ist jedes Zeichen gleich breit. Die Breite eines Zeichens kannst du mit imagefontwidth herausfinden.
                          Hi, hast du den rest des beitrages nicht gelesen?
                          ich habe 4 Werte die immer verschieden sind!
                          Bin nur in Schritt 1, überhaupt es hinzubekommen das ein Bild mit mehrfarbiegen Text ausgegeben wird.
                          Danach muss dass dann an eine datenbank zum auslesen.

                          Bitte antwortet in einfachen verständlichen worten mit beispiel.
                          Noch schöner wär die fertige lösung

                          Nacher sollen für über 1000 user immer einzeln auf abruf ein bild erstellt werden. Und die usernamen sind gravierend anders (3-35 zeichen) in der breite und 3 Werte die auch mit raus sollen können zwischen 1 bis 4 zeichen sein.



                          Kann ich es einfach so machen?

                          PHP-Code:
                          imagefontwidth($textnr) * strlen($leer$ausgabe1$anfang$ausgabe2); 
                          usw.. ?

                          Ich weiß nur nicht mit welchen befehl man ansonsten das zusammenrechnen kann. Aber es sollte evtl. so gehen?


                          Ich brauche immernoch eine vernünftige aussage ob ansonsten die einzelnen imagestring hintereinander oder übereinander ausgegeben werden.
                          Wobei letzteres wohl am warscheinlichsten ist?


                          Gruss Stefan

                          Kommentar


                          • #14
                            Zitat von thx-sound Beitrag anzeigen
                            Ich brauche immernoch eine vernünftige aussage ob ansonsten die einzelnen imagestring hintereinander oder übereinander ausgegeben werden.
                            RTFM! Schau dir im Manual an, welche Parameter die Funktion verarbeitet.
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              Zitat von thx-sound Beitrag anzeigen
                              Hi, hast du den rest des beitrages nicht gelesen?
                              ich habe 4 Werte die immer verschieden sind!
                              Bin nur in Schritt 1, überhaupt es hinzubekommen das ein Bild mit mehrfarbiegen Text ausgegeben wird.
                              Danach muss dass dann an eine datenbank zum auslesen.
                              Na, also haperts direkt bei den grundlegendsten Dingen bereits. Hast du denn überhaupt schon irgendwas auf dein Bild gemalt? Vorher brauchst du eh gar nicht weitermachen.
                              Und ja, imagestring würde immer an die gleiche Stelle schreiben, wenn du der Funktion die gleichen Koordinaten mitgibst. Damit du bei folgenden Aufrufen den nicht geschriebenen Text wieder übermalst verwendest du imagefontwidth um die neue Position zu errechnen. Und nein, dein Beispiel reicht natürlich nicht aus.

                              Kommentar

                              Lädt...
                              X