#1 17. Juni 2009 Schriftarten bei ImageTTFText Also ich arbeite derzeit an einer Funktion die es dem Benutzer ermöglichen soll mehrere Textfelder auf einer Grafik zu positionieren und deren Textinhalt, -farbe, -art etc zu verändern. Im Netz habe ich dazu den Befehl "ImageTTFText" gefunden, denn bei diesem kann ich im Gegensatz zu "imagestring" eine Schriftart mit angeben. Folgendes Problem habe ich dabei allerdings: Gibt es da auch die Möglichkeit die Schrift fett, kursiv oder so darstellen zu lassen? Hier mal der Quellcode soweit: PHP: <? php if( $_REQUEST [ 'filename' ]) $filename = $_REQUEST [ 'filename' ]; Header ( "Content-type: image/png" ); $image_file = $filename ; $image = imagecreatefrompng ( $image_file ); $black = ImageColorAllocate ( $image , 0 , 0 , 0 ); $white = ImageColorAllocate ( $image , 255 , 255 , 255 ); ImageTTFText ( $image , 8 , 0 , 90 , 25 , $black , "/path/arial.ttf" , "Ich und Du" ); ImageTTFText ( $image , 6 , 0 , 90 , 35 , $black , "/path/arial.ttf" , "Müllers Kuh" ); Imagepng ( $image ); ImageDestroy ( $image ); ?> + Multi-Zitat Zitieren
#2 17. Juni 2009 AW: Schriftarten bei ImageTTFText gibt doch von so gut wie jeder font ne kursive / bold variante, afaik^^ + Multi-Zitat Zitieren
#3 17. Juni 2009 AW: Schriftarten bei ImageTTFText Ja, gibt es. Einfach Code: "/path/arial.ttf" anpassen das dort die Arial Fett/Kursiv Variante steht. Ich denke das dürfte stimmen: Code: Fett: arialbd.ttf Kursiv: arialbi.ttf + Multi-Zitat Zitieren
#4 17. Juni 2009 AW: Schriftarten bei ImageTTFText Danke Euch, auf diese einfache Idee bin ich irgendwie net gekommen ^^ Gibt es irgendeine spezielle Schriftart die auch bei recht kleinen Grössen, z.B. 6px noch gut lesbar ist? Denn die Schriftarten die ich bisher durchprobiert habe werden dann recht schnell unleserlich + Multi-Zitat Zitieren
#5 17. Juni 2009 AW: Schriftarten bei ImageTTFText Google hilft: Da gibts zum Beispiel http://www.dafont.com/tiny.font // http://www.webmasterworld.com/forum36/599.htm + Multi-Zitat Zitieren
#6 27. Juni 2009 AW: Schriftarten bei ImageTTFText Hi Leute, da bin ich wieder mit einer neuen Frage zu imagettftext. Und zwar wundere ich mich über die unterschiedliche Darstellung von Fonts. Beispiel: Ich lasse in einer Seite vom User einen Text eingeben und dazu die Schriftart auswählen. Dieser Text wird dann in einem DIV dargestellt und die Schriftart mittels javascript geändert. PHP: function showFont_vorname ( val ) { document . getElementById ( "i_vorname" ). style . fontFamily = val ; } Danach soll auf der nächsten Seite mittels imagettftext der vorher eingegebene Text mit der angegebenen Schriftart direkt auf ein Bild gebracht werden. PHP: $font = 'path/' . $l_vorname_font . '.ttf' ; ..... imagettftext ( $im , $l_vorname_fontsize - 4 , 0 , $l_vorname_posx - 302 , $l_vorname_posy - 61 , $my_color , $font , $text ); Dass es in Javascript i_vorname und in PHP l_vorname_font heisst hat schon seine Richtigkeit. Jetzt ist es nur so, dass durch imagettftext anscheinend eine andere Schrift benutzt wird wie vorher mit Javascript. Ist das ein bekannter Fehler oder hab ich nur was falsch gemacht?? + Multi-Zitat Zitieren
#7 27. Juni 2009 AW: Schriftarten bei ImageTTFText woher nimmst du denn $l_vorname_font ? + Multi-Zitat Zitieren
#8 27. Juni 2009 AW: Schriftarten bei ImageTTFText diese Variable wird auf der ersten Seite am Ende gesammelt und dann an die zweite Seite übergeben Wenn der User fertig ist mit seinen Eingaben dann klickt er auf Seite 1 einen Button und dann folgt das hier: PHP: var l_bg = document . getElementsByName ( "bg_image" ); l_bg = l_bg [ 0 ]. value ; var l_logo = document . getElementsByName ( "logo_image" ); l_logo = l_logo [ 0 ]. value ; var l_logo_posx = dd . elements [ "i_logo_image" ]. x ; var l_logo_posy = dd . elements [ "i_logo_image" ]. y ; var l_logo_width = dd . elements [ "i_logo_image" ]. w ; var l_logo_height = dd . elements [ "i_logo_image" ]. h ; var l_vorname = document . getElementsByName ( "txt_vorname" ); l_vorname = l_vorname [ 0 ]. value ; var l_vorname_posx = dd . elements [ "i_vorname" ]. x ; var l_vorname_posy = dd . elements [ "i_vorname" ]. y ; var l_vorname_width = dd . elements [ "i_vorname" ]. w ; var l_vorname_height = dd . elements [ "i_vorname" ]. h ; var p = document . getElementById ( "i_vorname" ); var l_vorname_fontsize = parseInt ( p . style . fontSize . replace ( "px" , "" )); var l_vorname_font = document . getElementsByName ( "i_font_vorname" )[ 0 ]. value ; var l_vorname_color = document . getElementsByName ( "col_vorname" )[ 0 ]. value ; if( l_vorname_color == '' ){ l_vorname_color = "000000" ;} alert ( l_vorname_color ); var l_vorname_fontstyle = document . getElementById ( "i_vorname" ). style . fontStyle ; if( l_vorname_fontstyle == "" ){ l_vorname_fontstyle = "normal" ;} var l_vorname_fontweight = document . getElementById ( "i_vorname" ). style . fontWeight ; if( l_vorname_fontweight == "" ){ l_vorname_fontweight = "normal" ;} var l_vorname_textdecoration = document . getElementById ( "i_vorname" ). style . textDecoration ; if( l_vorname_textdecoration == "" ){ l_vorname_textdecoration = "none" ;} var l_nachname = document . getElementsByName ( "txt_nachname" ); l_nachname = l_nachname [ 0 ]. value ; var l_nachname_posx = dd . elements [ "i_nachname" ]. x ; var l_nachname_posy = dd . elements [ "i_nachname" ]. y ; var l_nachname_width = dd . elements [ "i_nachname" ]. w ; var l_nachname_height = dd . elements [ "i_nachname" ]. h ; var p = document . getElementById ( "i_nachname" ); var l_nachname_fontsize = parseInt ( p . style . fontSize . replace ( "px" , "" )); var l_nachname_font = document . getElementsByName ( "i_font_nachname" )[ 0 ]. value ; var l_nachname_color = document . getElementsByName ( "col_nachname" )[ 0 ]. value ; if( l_nachname_color == '' ){ l_nachname_color = "000000" ;} var l_nachname_fontstyle = document . getElementById ( "i_nachname" ). style . fontStyle ; if( l_nachname_fontstyle == "" ){ l_nachname_fontstyle = "normal" ;} var l_nachname_fontweight = document . getElementById ( "i_nachname" ). style . fontWeight ; if( l_nachname_fontweight == "" ){ l_nachname_fontweight = "normal" ;} var l_nachname_textdecoration = document . getElementById ( "i_nachname" ). style . textDecoration ; if( l_nachname_textdecoration == "" ){ l_nachname_textdecoration = "none" ;} var l_strasse = document . getElementsByName ( "txt_strasse" ); l_strasse = l_strasse [ 0 ]. value ; var l_strasse_posx = dd . elements [ "i_strasse" ]. x ; var l_strasse_posy = dd . elements [ "i_strasse" ]. y ; var l_strasse_width = dd . elements [ "i_strasse" ]. w ; var l_strasse_height = dd . elements [ "i_strasse" ]. h ; var p = document . getElementById ( "i_strasse" ); var l_strasse_fontsize = parseInt ( p . style . fontSize . replace ( "px" , "" )); var l_strasse_font = document . getElementsByName ( "i_font_strasse" )[ 0 ]. value ; var l_strasse_color = document . getElementsByName ( "col_strasse" )[ 0 ]. value ; if( l_strasse_color == '' ){ l_strasse_color = "000000" ;} var l_strasse_fontstyle = document . getElementById ( "i_strasse" ). style . fontStyle ; if( l_strasse_fontstyle == "" ){ l_strasse_fontstyle = "normal" ;} var l_strasse_fontweight = document . getElementById ( "i_strasse" ). style . fontWeight ; if( l_strasse_fontweight == "" ){ l_strasse_fontweight = "normal" ;} var l_strasse_textdecoration = document . getElementById ( "i_strasse" ). style . textDecoration ; if( l_strasse_textdecoration == "" ){ l_strasse_textdecoration = "none" ;} var l_nr = document . getElementsByName ( "txt_nr" ); l_nr = l_nr [ 0 ]. value ; var l_nr_posx = dd . elements [ "i_nr" ]. x ; var l_nr_posy = dd . elements [ "i_nr" ]. y ; var l_nr_width = dd . elements [ "i_nr" ]. w ; var l_nr_height = dd . elements [ "i_nr" ]. h ; var p = document . getElementById ( "i_nr" ); var l_nr_fontsize = parseInt ( p . style . fontSize . replace ( "px" , "" )); var l_nr_font = document . getElementsByName ( "i_font_nr" )[ 0 ]. value ; var l_nr_color = document . getElementsByName ( "col_nr" )[ 0 ]. value ; if( l_nr_color == '' ){ l_nr_color = "000000" ;} var l_nr_fontstyle = document . getElementById ( "i_nr" ). style . fontStyle ; if( l_nr_fontstyle == "" ){ l_nr_fontstyle = "normal" ;} var l_nr_fontweight = document . getElementById ( "i_nr" ). style . fontWeight ; if( l_nr_fontweight == "" ){ l_nr_fontweight = "normal" ;} var l_nr_textdecoration = document . getElementById ( "i_nr" ). style . textDecoration ; if( l_nr_textdecoration == "" ){ l_nr_textdecoration = "none" ;} var l_plz = document . getElementsByName ( "txt_plz" ); l_plz = l_plz [ 0 ]. value ; var l_plz_posx = dd . elements [ "i_plz" ]. x ; var l_plz_posy = dd . elements [ "i_plz" ]. y ; var l_plz_width = dd . elements [ "i_plz" ]. w ; var l_plz_height = dd . elements [ "i_plz" ]. h ; var p = document . getElementById ( "i_plz" ); var l_plz_fontsize = parseInt ( p . style . fontSize . replace ( "px" , "" )); var l_plz_font = document . getElementsByName ( "i_font_plz" )[ 0 ]. value ; var l_plz_color = document . getElementsByName ( "col_plz" )[ 0 ]. value ; if( l_plz_color == '' ){ l_plz_color = "000000" ;} var l_plz_fontstyle = document . getElementById ( "i_plz" ). style . fontStyle ; if( l_plz_fontstyle == "" ){ l_plz_fontstyle = "normal" ;} var l_plz_fontweight = document . getElementById ( "i_plz" ). style . fontWeight ; if( l_plz_fontweight == "" ){ l_plz_fontweight = "normal" ;} var l_plz_textdecoration = document . getElementById ( "i_plz" ). style . textDecoration ; if( l_plz_textdecoration == "" ){ l_plz_textdecoration = "none" ;} var l_ort = document . getElementsByName ( "txt_ort" ); l_ort = l_ort [ 0 ]. value ; var l_ort_posx = dd . elements [ "i_ort" ]. x ; var l_ort_posy = dd . elements [ "i_ort" ]. y ; var l_ort_width = dd . elements [ "i_ort" ]. w ; var l_ort_height = dd . elements [ "i_ort" ]. h ; var p = document . getElementById ( "i_ort" ); var l_ort_fontsize = parseInt ( p . style . fontSize . replace ( "px" , "" )); var l_ort_font = document . getElementsByName ( "i_font_ort" )[ 0 ]. value ; var l_ort_color = document . getElementsByName ( "col_ort" )[ 0 ]. value ; if( l_ort_color == '' ){ l_ort_color = "000000" ;} var l_ort_fontstyle = document . getElementById ( "i_ort" ). style . fontStyle ; if( l_ort_fontstyle == "" ){ l_ort_fontstyle = "normal" ;} var l_ort_fontweight = document . getElementById ( "i_ort" ). style . fontWeight ; if( l_ort_fontweight == "" ){ l_ort_fontweight = "normal" ;} var l_ort_textdecoration = document . getElementById ( "i_ort" ). style . textDecoration ; if( l_ort_textdecoration == "" ){ l_ort_textdecoration = "none" ;} var l_tel = document . getElementsByName ( "txt_tel" ); l_tel = l_tel [ 0 ]. value ; var l_tel_posx = dd . elements [ "i_tel" ]. x ; var l_tel_posy = dd . elements [ "i_tel" ]. y ; var l_tel_width = dd . elements [ "i_tel" ]. w ; var l_tel_height = dd . elements [ "i_tel" ]. h ; var p = document . getElementById ( "i_tel" ); var l_tel_fontsize = parseInt ( p . style . fontSize . replace ( "px" , "" )); var l_tel_font = document . getElementsByName ( "i_font_tel" )[ 0 ]. value ; var l_tel_color = document . getElementsByName ( "col_tel" )[ 0 ]. value ; if( l_tel_color == '' ){ l_tel_color = "000000" ;} var l_tel_fontstyle = document . getElementById ( "i_tel" ). style . fontStyle ; if( l_tel_fontstyle == "" ){ l_tel_fontstyle = "normal" ;} var l_tel_fontweight = document . getElementById ( "i_tel" ). style . fontWeight ; if( l_tel_fontweight == "" ){ l_tel_fontweight = "normal" ;} var l_tel_textdecoration = document . getElementById ( "i_tel" ). style . textDecoration ; if( l_tel_textdecoration == "" ){ l_tel_textdecoration = "none" ;} var l_fax = document . getElementsByName ( "txt_fax" ); l_fax = l_fax [ 0 ]. value ; var l_fax_posx = dd . elements [ "i_fax" ]. x ; var l_fax_posy = dd . elements [ "i_fax" ]. y ; var l_fax_width = dd . elements [ "i_fax" ]. w ; var l_fax_height = dd . elements [ "i_fax" ]. h ; var p = document . getElementById ( "i_fax" ); var l_fax_fontsize = parseInt ( p . style . fontSize . replace ( "px" , "" )); var l_fax_font = document . getElementsByName ( "i_font_fax" )[ 0 ]. value ; var l_fax_color = document . getElementsByName ( "col_fax" )[ 0 ]. value ; if( l_fax_color == '' ){ l_fax_color = "000000" ;} var l_fax_fontstyle = document . getElementById ( "i_fax" ). style . fontStyle ; if( l_fax_fontstyle == "" ){ l_fax_fontstyle = "normal" ;} var l_fax_fontweight = document . getElementById ( "i_fax" ). style . fontWeight ; if( l_fax_fontweight == "" ){ l_fax_fontweight = "normal" ;} var l_fax_textdecoration = document . getElementById ( "i_fax" ). style . textDecoration ; if( l_fax_textdecoration == "" ){ l_fax_textdecoration = "none" ;} var l_email = document . getElementsByName ( "txt_email" ); l_email = l_email [ 0 ]. value ; var l_email_posx = dd . elements [ "i_email" ]. x ; var l_email_posy = dd . elements [ "i_email" ]. y ; var l_email_width = dd . elements [ "i_email" ]. w ; var l_email_height = dd . elements [ "i_email" ]. h ; var p = document . getElementById ( "i_email" ); var l_email_fontsize = parseInt ( p . style . fontSize . replace ( "px" , "" )); var l_email_font = document . getElementsByName ( "i_font_email" )[ 0 ]. value ; var l_email_color = document . getElementsByName ( "col_email" )[ 0 ]. value ; if( l_email_color == '' ){ l_email_color = "000000" ;} var l_email_fontstyle = document . getElementById ( "i_email" ). style . fontStyle ; if( l_email_fontstyle == "" ){ l_email_fontstyle = "normal" ;} var l_email_fontweight = document . getElementById ( "i_email" ). style . fontWeight ; if( l_email_fontweight == "" ){ l_email_fontweight = "normal" ;} var l_email_textdecoration = document . getElementById ( "i_email" ). style . textDecoration ; if( l_email_textdecoration == "" ){ l_email_textdecoration = "none" ;} var l_web = document . getElementsByName ( "txt_web" ); l_web = l_web [ 0 ]. value ; var l_web_posx = dd . elements [ "i_web" ]. x ; var l_web_posy = dd . elements [ "i_web" ]. y ; var l_web_width = dd . elements [ "i_web" ]. w ; var l_web_height = dd . elements [ "i_web" ]. h ; var p = document . getElementById ( "i_web" ); var l_web_fontsize = parseInt ( p . style . fontSize . replace ( "px" , "" )); var l_web_font = document . getElementsByName ( "i_font_web" )[ 0 ]. value ; var l_web_color = document . getElementsByName ( "col_web" )[ 0 ]. value ; if( l_web_color == '' ){ l_web_color = "000000" ;} var l_web_fontstyle = document . getElementById ( "i_web" ). style . fontStyle ; if( l_web_fontstyle == "" ){ l_web_fontstyle = "normal" ;} var l_web_fontweight = document . getElementById ( "i_web" ). style . fontWeight ; if( l_web_fontweight == "" ){ l_web_fontweight = "normal" ;} var l_web_textdecoration = document . getElementById ( "i_web" ). style . textDecoration ; if( l_web_textdecoration == "" ){ l_web_textdecoration = "none" ;} var s_link = "createimage.php?l_bg=" + l_bg + "&l_logo=" + l_logo + "&l_logo_posx=" + l_logo_posx + "&l_logo_posy=" + l_logo_posy + "&l_logo_width=" + l_logo_width + "&l_logo_height=" + l_logo_height ; s_link = s_link + "&l_vorname=" + l_vorname + "&l_vorname_posx=" + l_vorname_posx + "&l_vorname_posy=" + l_vorname_posy + "&l_vorname_width=" + l_vorname_width ; s_link = s_link + "&l_vorname_height=" + l_vorname_height + "&l_vorname_fontsize=" + l_vorname_fontsize + "&l_vorname_color=" + l_vorname_color ; s_link = s_link + "&l_vorname_fontstyle=" + l_vorname_fontstyle + "&l_vorname_fontweight=" + l_vorname_fontweight + "&l_vorname_textdecoration=" + l_vorname_textdecoration ; s_link = s_link + "&l_vorname_font=" + l_vorname_font ; s_link = s_link + "&l_nachname=" + l_nachname + "&l_nachname_posx=" + l_nachname_posx + "&l_nachname_posy=" + l_nachname_posy + "&l_nachname_width=" + l_nachname_width ; s_link = s_link + "&l_nachname_height=" + l_nachname_height + "&l_nachname_fontsize=" + l_nachname_fontsize + "&l_nachname_color=" + l_nachname_color ; s_link = s_link + "&l_nachname_fontstyle=" + l_nachname_fontstyle + "&l_nachname_fontweight=" + l_nachname_fontweight + "&l_nachname_textdecoration=" + l_nachname_textdecoration ; s_link = s_link + "&l_nachname_font=" + l_nachname_font ; s_link = s_link + "&l_strasse=" + l_strasse + "&l_strasse_posx=" + l_strasse_posx + "&l_strasse_posy=" + l_strasse_posy + "&l_strasse_width=" + l_strasse_width ; s_link = s_link + "&l_strasse_height=" + l_strasse_height + "&l_strasse_fontsize=" + l_strasse_fontsize + "&l_strasse_color=" + l_strasse_color ; s_link = s_link + "&l_strasse_fontstyle=" + l_strasse_fontstyle + "&l_strasse_fontweight=" + l_strasse_fontweight + "&l_strasse_textdecoration=" + l_strasse_textdecoration ; s_link = s_link + "&l_strasse_font=" + l_strasse_font ; s_link = s_link + "&l_nr=" + l_nr + "&l_nr_posx=" + l_nr_posx + "&l_nr_posy=" + l_nr_posy + "&l_nr_width=" + l_nr_width ; s_link = s_link + "&l_nr_height=" + l_nr_height + "&l_nr_fontsize=" + l_nr_fontsize + "&l_nr_color=" + l_nr_color ; s_link = s_link + "&l_nr_fontstyle=" + l_nr_fontstyle + "&l_nr_fontweight=" + l_nr_fontweight + "&l_nr_textdecoration=" + l_nr_textdecoration ; s_link = s_link + "&l_nr_font=" + l_nr_font ; s_link = s_link + "&l_plz=" + l_plz + "&l_plz_posx=" + l_plz_posx + "&l_plz_posy=" + l_plz_posy + "&l_plz_width=" + l_plz_width ; s_link = s_link + "&l_plz_height=" + l_plz_height + "&l_plz_fontsize=" + l_plz_fontsize + "&l_plz_color=" + l_plz_color ; s_link = s_link + "&l_plz_fontstyle=" + l_plz_fontstyle + "&l_plz_fontweight=" + l_plz_fontweight + "&l_plz_textdecoration=" + l_plz_textdecoration ; s_link = s_link + "&l_plz_font=" + l_plz_font ; s_link = s_link + "&l_ort=" + l_ort + "&l_ort_posx=" + l_ort_posx + "&l_ort_posy=" + l_ort_posy + "&l_ort_width=" + l_ort_width ; s_link = s_link + "&l_ort_height=" + l_ort_height + "&l_ort_fontsize=" + l_ort_fontsize + "&l_ort_color=" + l_ort_color ; s_link = s_link + "&l_ort_fontstyle=" + l_ort_fontstyle + "&l_ort_fontweight=" + l_ort_fontweight + "&l_ort_textdecoration=" + l_ort_textdecoration ; s_link = s_link + "&l_ort_font=" + l_ort_font ; s_link = s_link + "&l_tel=" + l_tel + "&l_tel_posx=" + l_tel_posx + "&l_tel_posy=" + l_tel_posy + "&l_tel_width=" + l_tel_width ; s_link = s_link + "&l_tel_height=" + l_tel_height + "&l_tel_fontsize=" + l_tel_fontsize + "&l_tel_color=" + l_tel_color ; s_link = s_link + "&l_tel_fontstyle=" + l_tel_fontstyle + "&l_tel_fontweight=" + l_tel_fontweight + "&l_tel_textdecoration=" + l_tel_textdecoration ; s_link = s_link + "&l_tel_font=" + l_tel_font ; s_link = s_link + "&l_fax=" + l_fax + "&l_fax_posx=" + l_fax_posx + "&l_fax_posy=" + l_fax_posy + "&l_fax_width=" + l_fax_width ; s_link = s_link + "&l_fax_height=" + l_fax_height + "&l_fax_fontsize=" + l_fax_fontsize + "&l_fax_color=" + l_fax_color ; s_link = s_link + "&l_fax_fontstyle=" + l_fax_fontstyle + "&l_fax_fontweight=" + l_fax_fontweight + "&l_fax_textdecoration=" + l_fax_textdecoration ; s_link = s_link + "&l_fax_font=" + l_fax_font ; s_link = s_link + "&l_email=" + l_email + "&l_email_posx=" + l_email_posx + "&l_email_posy=" + l_email_posy + "&l_email_width=" + l_email_width ; s_link = s_link + "&l_email_height=" + l_email_height + "&l_email_fontsize=" + l_email_fontsize + "&l_email_color=" + l_email_color ; s_link = s_link + "&l_email_fontstyle=" + l_email_fontstyle + "&l_email_fontweight=" + l_email_fontweight + "&l_email_textdecoration=" + l_email_textdecoration ; s_link = s_link + "&l_email_font=" + l_email_font ; s_link = s_link + "&l_web=" + l_web + "&l_web_posx=" + l_web_posx + "&l_web_posy=" + l_web_posy + "&l_web_width=" + l_web_width ; s_link = s_link + "&l_web_height=" + l_web_height + "&l_web_fontsize=" + l_web_fontsize + "&l_web_color=" + l_web_color ; s_link = s_link + "&l_web_fontstyle=" + l_web_fontstyle + "&l_web_fontweight=" + l_web_fontweight + "&l_web_textdecoration=" + l_web_textdecoration ; s_link = s_link + "&l_web_font=" + l_web_font ; document . location . href = s_link ; So kann ich alle Variablen von der 1. Seite die mittels Javascript geändert wurden an die zweite Seite übergeben die mit PHP arbeitet und das Ganze dann zusammensetzen soll. Nachtrag: Der Unterschied in der Darstellung scheint an der Schrift-Laufweite zu liegen. Gibt es eine Möglichkeit diese bei imagettftext zu ändern? + Multi-Zitat Zitieren