# Schriftart durch imagestring



## Uli_87 (11. April 2006)

Guten Tag,

Durch folgendes Code erstelle ich ein Bild mittels PHP, das funktioniert bisher einwandfrei...


```
<?PHP
$image = imagecreate(300,150); 
$farbe_body=imagecolorallocate($image,243,243,243); 
$farbe_b = imagecolorallocate($image,153,204,51);
imagestring ($image, 3,15, 35, "test@test.ch", $farbe_b);
imagegif($image); 
?>
```
 
Nun wollte ich die Schriftart Verdana, mit der Grösse 11 anwenden und wenn es möglich ist vielleicht auch Unterstrichen. Wo kann ich diese Eigenschaften umändern? Gibt es vielleicht eine Lösung mit CSS?

Vielen Dank
Uli


----------



## fanste (11. April 2006)

Evt bringt dir das etwas: http://de.php.net/manual/de/function.imageloadfont.php
Oder noch besser: http://de.php.net/manual/de/function.imagettftext.php


----------



## Uli_87 (18. April 2006)

Hallo, 

Danke für die schnelle Antwort, ich habe es mit imagettftext versucht, leider ohne erfolg. Bei mir wird kein Bild angezeigt, kann es sein das es am Server liegt?

Mit folgendem Code:

```
<?PHP
Header ("Content-type: image/png"); 
$im = imagecreate (400, 30); 
$black = ImageColorAllocate ($im, 0, 0, 0); 
$white = ImageColorAllocate ($im, 255, 255, 255); 
$font = dirname($_SERVER["SCRIPT_FILENAME"]) . "verdana"; 
imagettftext ($im, 20, 0, 10, 20, $white, $font, "info@test.ch"); 
ImagePng ($im); 
ImageDestroy ($im); 
?>
```
 
Bekomme ich folgendes: http://www.uliweb.ch/imagecreate/neu.php

mfg
Uli


----------



## CIX88 (18. April 2006)

hmmm, verdana was ?
verdana ttf


----------



## keyoshix (24. April 2006)

Hi,

ich bin gerade an der selben Sache dran und habe bei dir einen Fehler entdeckt:


```
"verdanaf"
```
 << So muss der Font angegeben werden. So wie die Datei des Fonts heißt


```
<?PHP
Header ("Content-type: image/png"); 
$im = imagecreate (400, 30); 
$black = ImageColorAllocate ($im, 0, 0, 0); 
$white = ImageColorAllocate ($im, 255, 255, 255); 
$font = dirname($_SERVER["SCRIPT_FILENAME"]) . "verdana. t t f"; 
imagettftext ($im, 20, 0, 10, 20, $white, $font, "info@test.ch"); 
ImagePng ($im); 
ImageDestroy ($im); 
?>
```

Dann sollte es funktionieren =)

Nur ein Tip: Wenn Du den Fehler besser finden willst, kommentiere folgendes aus:


```
<?PHP
//Header ("Content-type: image/png"); 

//ImagePng ($im);
```

Bitte bei ". t t f" die Lücken weg machen. Geht bei diesem Board leider nicht anders.

Tom


----------



## Dr Dau (24. April 2006)

Hallo!


			
				keyoshix hat gesagt.:
			
		

> Bitte bei ". t t f" die Lücken weg machen. Geht bei diesem Board leider nicht anders.


Nicht?!

```
$font = dirname($_SERVER["SCRIPT_FILENAME"]) . "verdana.ttf";
```
 

Gruss Dr Dau


----------



## keyoshix (24. April 2006)

Dr Dau hat gesagt.:
			
		

> Hallo!
> Nicht?!
> 
> ```
> ...




Hast Recht Du mein Guru, mein Held, mein...


```
"verdanaf"
```


----------



## Dr Dau (24. April 2006)

keyoshix hat gesagt.:
			
		

> Hast Recht Du mein Guru, mein Held, mein...
> 
> 
> ```
> ...


So wird das aber nichts.  

Wenn schon, dann schon so:

```
"verdana.ttf"
```


----------



## CIX88 (25. April 2006)

[OT]
Warum kann man hier nicht folgene Zeile zusammenschreiben ?
verdana . ttf

Hab jetzt 10 Versuche ausprobiert, aber die Angaben ttf wird nicht richtig dargestellt.
Gibt es dafür eine Erklärung ?


----------



## Dr Dau (25. April 2006)

CIX88 hat gesagt.:
			
		

> Gibt es dafür eine Erklärung ?


Ja, gibt es.
Dass liegt an den Filterreglen des Forums.
Da hier Domains mit den Endungen tt, vu usw. nicht gerne gesehen werden (darüber gab es auch schon eine Diskusion), werden diese rausgefilter.
Leider wirkt es sich aber auch auf z.b. ttf aus.

Da diese Filterregeln aber nicht grundlos gesetzt wurden, werde ich den "Trick" (welcher ja eigentlich kein wirklicher Trick ist) nicht verraten.
Denn sonst würde es bald jeder anwenden und somit die Filterregel überflüssig machen.


----------



## CIX88 (25. April 2006)

Achso, danke für die ausführliche Info, die ich natürlich nachvollziehen kann.


----------



## fanste (25. April 2006)

Meinst du diesen Trick ;-) 

```
"verdana..ttttf"
```


----------



## Dr Dau (25. April 2006)

@fanste, nein, Dein Trick ist wieder ein anderer.


----------



## fanste (25. April 2006)

Mist. Jetzt dachte ich schon ich hätte deinen geknackt. 

Hat sich eigentlich schon das Problem des Threaderstellers gelöst?


----------



## Dr Dau (25. April 2006)

Keine Ahnung, aber wenn er sich mal $font per echo ausgeben lassen würde, würde er sehen dass es "*/*verdana.ttf" heissen muss.


----------

