Avatar billede kish Nybegynder
13. oktober 2005 - 15:42 Der er 2 kommentarer

Tekst på img

Hejsa, jeg sidder og leger med at lave et diagram over svar på nogle spørgsmål, men er løber ind i et problem jeg ikke lige kan styre, og vil høre om en af jer har en ide.
Jeg bruger en
$img = imagecreatetruecolor($width, $height); til at tegne på
og imagestring(skrive noget her) til at skrive info med.
Men når jeg skrive spørgsmålet ind er det tit med æ,ø,å hvilket ikke kan skrives på en img åbenbart for den bytter det ud med et underligt tegn når diagrammer kommer frem.
Er der nogen måde at ændre "sproget" så den kan tage æøå med?
Har ledt lidt, men ikke fundet noget jeg kan bruge endnu, og ved slet ikke om det er muligt, men tænkte at en af jer måske havde en løsning.
Kan selvfølgelig skrive navnet ovenover så det ikke er en del af billedet, men vil gerne have det på selve billedet så det bliver skrevet med ud når der bruges "print på billedet".

Håber det gav mening, ellers skal i bare råbe op
Kish
Avatar billede allanbjerrum Nybegynder
13. oktober 2005 - 16:19 #1
Hej Kish

Jeg bruger nogle knapper med tekst til mit private linkportal, hvor jeg ikke bruger tekstbilleder i stedet for et logo, hvis jeg ikke har et. Scriptet button.php, der "tegner" disse knapper ser sådan ud:

<?
header("Content-type: image/png");
$string = stripslashes($_GET['text']);
$string = stripslashes($string);
$fontsize=18;
$fontfamily[]="arial.ttf";
$fontfamily[]="trebuc.ttf";
$fontfamily[]="comic.ttf";
$fontfamily[]="mtcorsva.ttf";
// Uploadede fonts: arial.ttf mtcorsva.ttf trebuc.ttf comic.ttf
// $font=$fontfamily[mt_rand(0,3)];
// Random funktion, tager lang tid hvis der er mange knapper.
// Udvælgelse af en tilfældig skrifttype bør finde sted i index.php i stedet.
$font=$fontfamily[3];        // Vælg Monotype Corsiva som standard.

// imagettfbbox ( int size, int angle, string fontfile, string text)
$box = imagettfbbox($fontsize, 0, $font, $string);

$boksbredde=$BOX[2]+30;
$bokshojde=-$BOX[5]+20; // http://www.php.net/manual/en/function.imagettfbbox.php
// $bokshojde=30;
$im = imagecreate($boksbredde,$bokshojde);

$bg = imagecolorallocate($im, 0x33,0x66,0xcc);
$white = imagecolorallocate($im, 255,255,255);
$black = imagecolorallocate($im, 0,0,0);

imagettftext($im, $fontsize, 0, 15, -$BOX[5]+10, $black, $font, $string);
imagepng($im);
imagedestroy($im);
?>

Der ligger en random-funktion i scriptet, som vælger mellem 4 fonte. Det blev dog for rodet at se på og den er p.t. har slået fra.

Foruden scriptet ligger også mtcorsva.ttf på serveren. Denne font kan naturligvis skiftes efter behag, blot fonten indeholder æ, ø og å. Default fonten har vist ikke disse bogstaver, hvilket måske i virkeligheden er løsningen på dit problem.

Jeg kalder scriptet fra html med en syntaks, der ser sådan ud:
<img src="button.php?text=TV2s tv guide" BORDER="0" ALIGN="bottom" ALT="TV2s tv guide">

Mvh.
Allan
Avatar billede kish Nybegynder
13. oktober 2005 - 16:26 #2
Tak for det hurtige svar!
Det ser got ud, men jeg skal lige bruge lidt tid til at kigge på det. Er stadig for ny i det her til at kunne overskue ret meget, men umiddelbart ser det ud til at det godt kunne være den løsning jeg leder efter.
Tak igen
Kish
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester