Hallo allezusammen,...
Ich bin relativer PHP-Neuling und hab über die Suche bisher nicht sehr viel hilfreiches gefunden. Mein Problem:
Ich habe eine bestehende PNG-Grafik auf dem Server, die ich über ein Input-Feld mit Text beschreiben möchte, und zwar in einem bestimmten TTF-Font. Die Grafik soll anschliessend auf dem Server gespeichert und in einer Tabelle mit weiteren Grafiken ausgegeben werden.
1. Was muss der Server von der Installation her bieten, damit das klappt?
2. Wie binde ich eine bestimmte TTF-Schrift ein, und geht sowas überhaupt wenn man nicht der Server-Admin ist?
3. Ich hab sowas ähnliches schon mal für einen Smilie-Generator gemacht, nur hilft mir das diesmal nicht unbedingt weiter....
Ich häng die PHP-Datei mal an, vlt brauch ich da ja nur bestimmte sachen ändern ....
und hier mal der Code zu der Funktion die ich dort verwendet habe:
Wär schön wenn mir jemand helfen könnte.. Danke schonmal...
Ich bin relativer PHP-Neuling und hab über die Suche bisher nicht sehr viel hilfreiches gefunden. Mein Problem:
Ich habe eine bestehende PNG-Grafik auf dem Server, die ich über ein Input-Feld mit Text beschreiben möchte, und zwar in einem bestimmten TTF-Font. Die Grafik soll anschliessend auf dem Server gespeichert und in einer Tabelle mit weiteren Grafiken ausgegeben werden.
1. Was muss der Server von der Installation her bieten, damit das klappt?
2. Wie binde ich eine bestimmte TTF-Schrift ein, und geht sowas überhaupt wenn man nicht der Server-Admin ist?
3. Ich hab sowas ähnliches schon mal für einen Smilie-Generator gemacht, nur hilft mir das diesmal nicht unbedingt weiter....
Ich häng die PHP-Datei mal an, vlt brauch ich da ja nur bestimmte sachen ändern ....
und hier mal der Code zu der Funktion die ich dort verwendet habe:
PHP:
function beschriftung($schrift,$pic)
{
$text = chunk_split($schrift,20,"\n");
$text = explode("\n",$text);
foreach($text as $reihe)
{
$laenge[] = strlen($reihe);
}
$L = max($laenge);
$fontsize = 3;
$textbreite = $L * imagefontwidth($fontsize) + 12;
$texthoehe = count($text)*imagefontheight($fontsize)+10;
$id = imagecreatefrompng("images/site/smilies/generator/". $pic . ".png");
$bildbreite = imagesx($id);
$bildhoehe = imagesy($id);
$imageID = imagecreate($textbreite,$texthoehe+$bildhoehe);
$hintergrundfarbe = imagecolorallocate($imageID,245,252,255);
$schwarz = imagecolorallocate($imageID,0,0,0);
$weiss = imagecolorallocate($imageID,255,255,255);
imagefill($imageID,0,0,$hintergrundfarbe);
imagecolortransparent($imageID,$hintergrundfarbe);
imagerectangle($imageID,0,0,$textbreite-1,$texthoehe,$schwarz);
imagefilledrectangle($imageID,1,1,$textbreite-2,$texthoehe-1,$weiss);
imagecopy($imageID,$id,$textbreite/2-$bildbreite/2,$texthoehe,0,0,$bildbreite,$bildhoehe);
$i==0;
foreach($text as $say)
{
imagestring($imageID,$fontsize,5,$i*imagefontheight($fontsize)*ceil(6/count($text)),$say,$schwarz);
$i++;
}
$zahl = rand(1,15);
imagepng($imageID,"images/site/smilies/user/" . $zahl . ".png");
return "<img src=images/site/smilies/user/" . $zahl . ".png border=0>";
}
Wär schön wenn mir jemand helfen könnte.. Danke schonmal...