Toon posts:

[PHP][GD] imagettfbbox probleem

Pagina: 1
Acties:

Onderwerpen


Verwijderd

Topicstarter
Ik ben bezig met het automatisch genereren van knoppen dit werkte perfect op me eigen servertje alleen nu ik de site geupload heb krijg ik hele rare dingen.

Dit is me code
code:
1
2
3
4
5
6
7
8
9
10
11
$randdikte = 1;
$marge_tekst = 5;
$font = realpath("fonts/arial.ttf");
$fontsize = 9;
$tekst = $_GET['tekst'];
$tekst = strtoupper(substr($tekst, 0, 1)).substr($tekst,1);

$box = imagettfbbox($fontsize, 0, $font, $tekst);

$width = $box[4]-$box[6]+($marge_tekst*2)+($randditke*2);
$height = 20;


Wat er fout gaat is de berekening van de breedte van het plaatje. De output die imagettfbbox geeft ie naar mijn idee raar. Als ik de waardes van 0 tot 6 in de array laat echoen krijg ik de volgende output:
-1073757316, 1079603724, 1747514072, 1962919636, -1073757268, 1079650978, 1080844492

Dit lijkt me niet helemaal juist. Weet iemand waar het probleem kan liggen?

  • Cartman!
  • Registratie: April 2000
  • Niet online
post je hele script eens, dus incl. headers etc. misschien dat er dan meer duidelijk is...

Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?
    $randdikte = 1;
    $marge_tekst = 5;
    $font = realpath("fonts/arial.ttf");
    $fontsize = 9;
    $tekst = $_GET['tekst'];
    $tekst = strtoupper(substr($tekst, 0, 1)).substr($tekst,1);

    $box = imagettfbbox($fontsize, 0, $font, $tekst);

    $width = $box[4]-$box[6]+($marge_tekst*2)+($randditke*2);
    $height = 20;

    $knop = imagecreate($width, $height);

    $colors['achtergrond_plaatje'] = imagecolorallocate($knop, 255 ,255 ,255);
    $colors['text'] = imagecolorallocate($knop, 0, 0, 0);
    $colors['rand'] = imagecolorallocate($knop, 202, 200, 200);
    $colors['achtergrond_knop'] = imagecolorallocate($knop, 202, 200, 200);

    imagesetthickness($knop, $randdikte);
    imagerectangle ($knop, 0, 0, $width-1, $height-1, $colors['rand']);
    imagefilledrectangle($knop, $randdikte, $randdikte, $width-$randdikte-1, $height-$randdikte-1, $colors['achtergrond_knop']);
    imagettftext($knop, $fontsize, 0, $randditke+$marge_tekst, $height-$randdikte-$marge_tekst, $colors['text'], $font, $tekst);

    header("Content-type: image/png");
    imagepng($knop);
    imagedestroy($knop);
?>

[ Voor 7% gewijzigd door Verwijderd op 27-01-2004 11:41 ]


  • kvdveer
  • Registratie: November 2000
  • Laatst online: 07-11-2023

kvdveer

Z.O.Z.

Ik vrees dat er iets mis is met je GD installatie. De getallen die je krijgt lijken verdacht veel op een overflow of ruis.

Localhost, sweet localhost


Verwijderd

Topicstarter
Daar was ik dus ook al bang voor, zal me host maar is gaan mailen met dit probleem