[GD] Text Farbe ist Transparent anstatt Farbe

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

  • [GD] Text Farbe ist Transparent anstatt Farbe

    Hallo,

    mein Text in meiner grafik wird nicht grün dagestellt sondern Transparent, finde den Fehler nicht:

    PHP-Code:
    <?PHP
    header
    ('Content-type: image/png');

    $mysqlcon mysql_connect('85.114.140.22''laire''muhaha')
     or die (
    'SQL-Verbindung fehlgeschlagen');
    $dbcon mysql_select_db("cod4"$mysqlcon) ;

    $abfrage mysql_query
    ("SELECT * FROM t1_cod4_v3_players WHERE players_id = '$id' "); 
    $row mysql_fetch_array($abfrage);


    $imgname 'waffen_profil.gif';

    $im = @ImageCreateFromGIF ($imgname);

    $green ImageColorAllocate ($im025550);

    imagestring ($im5220430$row[players_k_w_colt45], $green);
    imagestring ($im5220465$row[players_k_w_deserteagle], $green);
    imagestring ($im542045$row[players_k_w_deserteaglegold], $green);
    imagestring ($im53045$row[players_k_w_m16], $green);


    ImagePNG ($im);

    ?>
    Woran kann das liegen? Also die Text Farbe sollte doch grün sein....

    Hier ein Link zu der Grafik, wo der Text grün sein sollte:

    http://www.gilligans-island.de/images/gdlib/1weap.png

  • #2
    Enthalten die Variablen auch garantiert was? Testausgabe?

    Kommentar


    • #3
      Hm weiß nicht genau was du meinst.

      Also ein print_r von green gibt mir -1 aus

      print_r von $im gibt mir Resource id #5 aus

      Er macht ja auch alles, nur das er komischerweise die blöde Farbe nicht annehmen will :-(

      Kommentar


      • #4
        Ob z.B. $row[players_k_w_colt45] was enthält, war die Frage!!

        Weil du kannst nicht am Bild entscheiden, ob etwas unsichtbar ist, oder überhaupt nicht da.

        Es gilt: (im übertragenwen Sinne)
        unsichtbar == nicht_vorhanden (für deine Augen)
        unsichtbar !== nicht_vorhanden (in der Logik)
        Wir werden alle sterben

        Kommentar


        • #5
          Die Zeilen sind gefüllt, siehe den Link den ich oben schon gepostet habe:

          http://www.gilligans-island.de/images/gdlib/1weap.png

          Wenn man die Datei aufruft, sehen die Zahlen weiß aus, in wirklichkeit sind sie transparent, was man merkt wenn man das Bild auf der Hauptseite aufruft:

          http://gilligans-island.de/index.php...r&id=1&lang=de

          Bei den Zahlen sieht man den Hintergrund (das Gitter) durchscheinen.

          Somit kann ich wohl doch sagen, die Zeichen sind "unsichtbar" also Transparent ;-)

          Kommentar


          • #6
            Dann lege doch, vor den mal Arbeiten, eine andere transparente Farbe fest. z.B. rot
            Es darf nur eine geben.
            evtl. ist in dem Gif ja schon grün dafür vorgesehen..

            Somit kann ich wohl doch sagen, die Zeichen sind "unsichtbar" also Transparent ;-)
            Du evtl. schon
            Aber für uns gab es KEINE Vergleichsmöglichkeit!!
            Woher sollten wir auch ahnen, dass du mit 4 Zeilen ca 30 Zahlen malen kannst
            Zuletzt geändert von combie; 05.06.2008, 11:13.
            Wir werden alle sterben

            Kommentar


            • #7
              Was in dem Gif festgelgt ist weiß ich nicht, aber ich habe es schon mit verschiedenen Werten bei dem Color Accolate versucht... also 255,255,255 oder 0,0,0 aber es sieht immer so aus wie jetzt...


              Die ganzen Zahlen sind heute Nacht dazu gekommen, war ja nicht untätig ;-)
              Zuletzt geändert von Laire; 05.06.2008, 11:15.

              Kommentar


              • #8
                Es wurde ja niergends eine Transparente Farbe fest gelegt...
                Dann mache das doch mal...
                So schwer zu verstehen?
                Wir werden alle sterben

                Kommentar


                • #9
                  Habe eine Transparente Farbe festgelegt, ich hoffe das ist so richtig.

                  Jetzt ist die Tranzparenz des Bildes weg, der Text ist immer noch transparent, obwohl die RGB Werte Grün sind.

                  PHP-Code:
                  <?PHP
                  header
                  ('Content-type: image/png');

                  $mysqlcon mysql_connect('85.114.140.22''laire''muhaha')
                   or die (
                  'SQL-Verbindung fehlgeschlagen');
                  $dbcon mysql_select_db("cod4"$mysqlcon) ;

                  $abfrage mysql_query
                  ("SELECT * FROM t1_cod4_v3_players WHERE players_id = '$id' "); 
                  $row mysql_fetch_array($abfrage);


                  $imgname 'waffen_profil.gif';

                  $im = @ImageCreateFromGIF ($imgname);

                  $trans=ImageColorAllocate($im200200200);
                  imagecolortransparent($im$trans);
                  $green=ImageColorAllocate($im025550);

                  if(
                  $row[players_k_w_m16] != '0')                

                     
                  imagestring ($im33045,    $row[players_k_w_m16], $green);
                  }    
                  else

                     
                  imagestring ($im33045'-'$green);
                  }

                  ImagePNG ($im);

                  ?>

                  Kommentar


                  • #10
                    Tja... dann kann ich hier nur aufgeben..
                    Wir werden alle sterben

                    Kommentar


                    • #11
                      Schade :-( Ich gehe das Script ständig durch und finde einfach keinen Fehler :-(

                      Kommentar


                      • #12
                        schalt mal error_reporting an und schreib niemals @ vor einer Zeile!
                        Dann versuch mal einen String direkt zu schreiben statt aus der DB.
                        Dann erstelle mal zwei Farben:

                        $green = ImageColorAllocate ($im, 0, 255, 50);
                        $x = ImageColorAllocate ($im, 255, 67, 50);

                        Schreib einen String mit der Farbe x an 30, 30 und mit der Farbe green an 30, 50
                        PHP-Code:
                        imagestring ($im53050"Hallo"$green);
                        imagestring ($im53030"Hallo"$x); 
                        Wenn du jetzt immer noch nichts siehst und keine Fehler erhältst von error_reporting(E_ALL); liegt es an deiner internen Schriftart. Ändere die 5 in 1,2,3 oder 4 oder lade eine Schriftart auf deinen Server und versuchs mit der.

                        Kommentar


                        • #13
                          Ok erstmal ohne Schriftart, die muss ich noch hochladen, die anderen Tips haben nichts gebracht, Text ist immer noch transparent, wirkt als wenn er den text aus dem bild auschneiden würde...

                          PHP-Code:
                          <?PHP
                          header
                          ('Content-type: image/png');

                          error_reporting(E_ALL);

                          $imgname 'waffen_profil.gif';
                          $im ImageCreateFromGIF ($imgname);

                          $green ImageColorAllocate ($im025550);
                          $x ImageColorAllocate ($im2556750);

                          imagestring ($im53050"Hallo"$green);
                          imagestring ($im53030"Hallo"$x);

                          ImagePNG ($im);

                          ?>

                          Kommentar


                          • #14
                            Haben jetzt das ganze auf umwegen gelösst, ich gehe mal davon aus, das in der gif datei alle farbwerte die nicht verwendet wurden als tranzparent gespeichert sind.

                            Diese Einstellungen werden wohl übernommen...


                            als Lösung wurde die Farbe mit in der Farbpalette des Gif Bildes angelegt, das hat gereicht um den Text jetzt in Farbe dazustellen.

                            Kommentar


                            • #15
                              Nur noch als Ergänzung zu einem deiner Posts oben... habe ich erst nicht gesehen.

                              Weil bei gif- Dateien mit Paletten arbeitet, die maximal 256 Farben beinhalten dürfen hattest du eine Ausgabe von -1 bei deinem print_r. (-1 für gescheitert)
                              Du hast schon zu viele verschiedene Farben in deinem Bild und deshalb konnte keine neue Farbe allokiert werden.

                              Also bleiben dir 2 Möglichkeiten. Die eine, wie du es gemacht hast eine bereits verwendete Farbe benutzen oder du reduzierst die benutzten Farben im ganzen Bild um eine und kannst danach ohne Probleme wieder eine neue Farbe mit PHP allokieren.

                              Bei TIF oder PNG Bildern hast du dieses Problem nicht.

                              Kommentar

                              Lädt...
                              X