Fonts mit GD - systemunterschiede?

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

  • Fonts mit GD - systemunterschiede?

    hi php-resoucer

    ich hoffe ich kann mal wieder von eurer Erfahrung "profitieren"

    ich sehe derzeit ein unterschied, der wirklich unschön ist und wollte fragen, ob das normal ist wegen der Versionsunterschiede der system UND ob ich das beeinflussen kann (zeichenabstand) ?

    Meine dyn. Bildscripte mit Text (ttf files) zeigen unterschiede in der Darstellung beim Zeichenabstand. Auch funktioniert online das imcreatetruecolor nicht, und ich weiß beim besten willen nicht wieso.

    Kann mir da jemand helfen?

    Lokaler Rechner ein WAMP mit php 5.2
    GD Support enabled
    GD Version bundled (2.0.34 compatible)
    FreeType Support
    enabled
    FreeType Linkage with freetype
    FreeType Version 2.1.9
    T1Lib Support
    enabled

    Online Webserver: LINUX PHP Version 5.2.6-1+lenny3
    GD Support enabled
    GD Version
    2.0 or higher
    FreeType Support
    enabled
    FreeType Linkage with freetype
    FreeType Version 2.3.7
    T1Lib Support enabled

    Ich hoffe das verwendete Script bringt aufschluss

    PHP-Code:
        $icon2          imagecreatefrompng('../_images/icon2.png');                          # Icon wird aus Vorlage-Datei erzeugt             #
        
    $abstand        8;                                                                   # Icon abstand rechts zur Schrift                 #
         
    $output_txt     ucfirst("Willkommen");                                              # hier wird text übergeben                        #
         
    $img_quality    80;                                                                 # hier wird Bildqualität übergeben: von 1 bis 100 #    
        
    $font           "../_fonts/font1.ttf";                                               # Hier wird der pfad zur schriftart angegeben     #    
        
    $size           "11";                                                                # Schriftgröße                                    #
        
    $angle          "0";                                                                 # Schrift-winkel                                  #                                      #
        
    $image          imagecreate(500,41); // sonst imagecreatetruecolor(500,41)
                         # imageantialias($image, true); 
        
    $bg_color       imagecolorallocate($image255255255);
                         
    #imagefill($image,0,0,$bg_color);        
         
    $img_color_tx1  imagecolorallocate ($image99133132);                          # Textfarbe                                       #
        
    $img_width      imagesx($image);                                                     # Berechnet Breite des Bildes in Pixel            #
        
    $img_height     imagesy($image);                                                     # Berechnet Höhe des Bildes in Pixel              #
        
    $txt_width      imagettfbbox($size0$font$output_txt);                          # Berechnet TTF Textbreite in Pixel               #
        
    $icon_pos_x     $abstand $txt_width[2];                                            # Textbreit + Abstand des Icons                   #
        
    $x              0;                                                                   # Abstand zur linken Bildseite ist $img_width_mod #
        
    $y              "37";                                                                # Abstand zur oberen Bildseite                    #
        
    imagettftext ($image$size$angle$x$y$img_color_tx1$font$output_txt);      # Zeichnet Text ins Bild                          #
        
    imagecopy($image$icon2$icon_pos_x29008);                               # Zeichnet PfeilIcon ins Bild                     #
        
    imagepng ($image);                                                                     # Erzeugt Bild nach Parametern                    #
        
    imagedestroy ($image);                                                                 # Macht Speicher vom Bild frei                    # 

  • #2
    Zitat von someRookie Beitrag anzeigen
    Auch funktioniert online das imcreatetruecolor nicht, und ich weiß beim besten willen nicht wieso.

    Kann mir da jemand helfen?
    Nein, dir kann niemand helfen, so lange du keine brauchbare Problembeschreibung lieferst, und dich auf "funzt nich" beschränkst.

    Wie man Fragen richtig stellt: eine Anleitung wie man Fragen erfolgreich in Usenet, Mailing Listen und Webforen stellt.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      wieviel genauer als:
      Meine dyn. Bildscripte mit Text (ttf files) zeigen unterschiede in der Darstellung beim Zeichenabstand.

      soll ich das ganze machen, wenn es sich "nur" darum dreht? ( Das mit dem imagecreatetruecolor ist nur ein zusatz, wie man an der Threadüberschrift erkennen könnte! )
      Zuletzt geändert von someRookie; 21.10.2009, 19:06.

      Kommentar


      • #4
        Zitat von someRookie Beitrag anzeigen
        wieviel genauer als:
        Meine dyn. Bildscripte mit Text (ttf files) zeigen unterschiede in der Darstellung beim Zeichenabstand.

        soll ich das ganze machen, wenn es sich "nur" darum dreht?
        Zum Beispiel mit einem konkreten Beispiel …
        [FONT="Helvetica"]twitter.com/unset[/FONT]

        Shitstorm Podcast – Wöchentliches Auskotzen

        Kommentar


        • #5
          Zitat von unset Beitrag anzeigen
          Zum Beispiel mit einem konkreten Beispiel …
          naja... ok, zum Beispiel ein screenshots des unterschiedes ?

          Kommentar


          • #6
            Hier mal ein Screenshot:

            Wobei hier allerdings grad das online und lokal vertauscht ist wie ich bemerke.. sorry
            Angehängte Dateien
            Zuletzt geändert von someRookie; 21.10.2009, 19:14. Grund: fehler im bild

            Kommentar


            • #7
              Wenn GD, FreeType und die .ttf auf beiden Systemen identisch wären, gäbe es diese Unterschiede nicht. Das ist dir sicherlich klar, deswegen lautet die Frage zwischen den Zeilen eigentlich "Welche Komponente ist für die Unterschiede verantwortlich?".
              Das Font-File kannst du ja ganz einfach auf beiden Systemen benutzen. Damit ist das schon mal aus dem Rennen.
              Aus dem Stand kann ich nicht sagen, ob FreeType oder GD die Unterschiede verursacht. Vermutlich FreeType. Aber was solls, bring doch einfach mal beide Bibliotheken auf beiden Systemen auf den selben Stand.

              Weil eins der Systeme ein Windows ist, bedeutet "auf einen Stand bringen" wahrscheinlich ein Downgrade auf dem Debian. Wenn du das nicht willst, gäbe es noch die Möglichkeit, auf deinem lokalen Windows gar keine Bilder zu erzeugen sondern die URLs in den entsprechenden <img>-Tags auf den Live-Server zeigen zu lassen.
              Zuletzt geändert von onemorenerd; 21.10.2009, 19:40.

              Kommentar


              • #8
                ohja.. das ist eine gute Idee mit der img-src zum live-server
                das werd ich künftig so machen..., so weiß ich wenigstens gleich wie das endergebnis online aussehen würde..


                nun hab ich ja leider weiterhin das problem, dass diese unschöne Tatsache auf dem liveserver stattfindet... gibt es denn wenigstens eine Möglichkeit den zeichenabstand zu "manipulieren" ?

                ich finde immer nur was zum zeilenabstand

                Kommentar


                • #9
                  Das könnte man probieren: http://www.php.net/manual/en/functio...text.php#74949
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    Warum verwendest du nicht einfach ein virtuelles Debian lokal zum Testen?

                    Hat ja wenig Sinn, wenn du unter Windows testest/entwickelst aber das ganze System dann unter Linux läuft. Unterschiede zwischen beiden Systemen kann man niemals ausschließen. Außerdem sollten alle Softwareversionen am Testserver identisch mit denen am Produktivserver sein.

                    Für mich ist das, was du machst, sehr unprofessionell.

                    Kommentar


                    • #11
                      Zitat von h3ll Beitrag anzeigen
                      Außerdem sollten alle Softwareversionen am Testserver identisch mit denen am Produktivserver sein.

                      Für mich ist das, was du machst, sehr unprofessionell.
                      Wenn es um ein Projekt in fünf- oder sechsstelliger Größe geht? Dann ja. Ansonsten finde ich es nicht so dramatisch. GD/Freetype gehören zu den wenigen extremen Spezialfällen, die sich nicht programmiertechnisch überbrücken lassen, und auf die stößt man dann halt... Wenn auch unter Schmerzen

                      Kommentar


                      • #12
                        Zitat von h3ll Beitrag anzeigen
                        Warum verwendest du nicht einfach ein virtuelles Debian lokal zum Testen?

                        Hat ja wenig Sinn, wenn du unter Windows testest/entwickelst aber das ganze System dann unter Linux läuft.
                        ...
                        Für mich ist das, was du machst, sehr unprofessionell.

                        unprofessionell.. nun ja.. wie glücklicherweise bereits erwähnt wurde, handelt es sich dabei nicht um ein wirtschlich großes projekt, dann würde sich auch sicher jemand anderes darum kann als ich
                        es ist nur eine mini firmenseite.

                        aber einen vorteil seh ich dennoch an der ganze sache !!

                        ICH LERNE .. die hinweise von pekka, der link von wahsaga..und all die anderen Hilfreichen Poster.. und das ist, was wertvoll ist...

                        ich hab mir jedoch bereits ein virtuelles linux eingerichtet... wobei ich allerdings nur mit ubuntu ausreichend umgehen kann.. aber vielleicht hilft mir das schon weiter.. künftig..

                        danke jedenfalls für die klasse hinweise.. der link zum "spacing between letters" sieht auf den ersten blick ja nach einer lösung aus...
                        darüber werd ich mich gleich mal hermachen !

                        wünsche euch allen schon mal eine gute Nacht !

                        Rene´
                        Zuletzt geändert von someRookie; 21.10.2009, 23:25. Grund: wort vergessen

                        Kommentar


                        • #13
                          ha.. anleitung über den Link klappt super ! danke wahsaga !

                          Kommentar

                          Lädt...
                          X