Ik ben bezig een simpel script te schrijven dat niets anders doet dan een stukje tekst te retourneren als een PNG plaatje. Het doel is om kopjes in een site te kunnen genereren met een specifiek (en niet overal aanwezig) font.
Het script werkt prima, op één raar fenomeen na. Als ik ImageFTBBox (of ImageTTFBBOX, maakt geen verschil) gebruik om de grootte van het plaatje te bepalen, dan wordt het plaatje een paar pixels te smal en een paar pixels te laag.
Ik gebruik deze code om de grootte van het plaatje te bepalen:
Twee voorbeeldjes:
fout (er wordt een stukje van de letter "t" afgehakt en een stukje van de onderkant)

goed (ImageCreateTrueColor een 5 pixels groter plaatje laten maken)

In het voorbeeld hierboven heb ik "met de natte vinger" 5 pixels toegevoegd aan de hoogte en de breedte. Hebben jullie een oplossing hoe ik de goede hoogte en breedte kan krijgen?
Het script werkt prima, op één raar fenomeen na. Als ik ImageFTBBox (of ImageTTFBBOX, maakt geen verschil) gebruik om de grootte van het plaatje te bepalen, dan wordt het plaatje een paar pixels te smal en een paar pixels te laag.
Ik gebruik deze code om de grootte van het plaatje te bepalen:
PHP:
1
2
3
4
5
6
7
8
9
| // Calc the text size $box = imageftbbox($size, 0, "fonts/svenings.ttf", $text); // Calc the width and height of the image $width = max($box[2], $box[4]) - min($box[0], $box[6]); $height = max($box[1], $box[3]) - min($box[5], $box[7]); // Create the image $pic = imagecreatetruecolor($width, $height); |
Twee voorbeeldjes:
fout (er wordt een stukje van de letter "t" afgehakt en een stukje van de onderkant)
goed (ImageCreateTrueColor een 5 pixels groter plaatje laten maken)
In het voorbeeld hierboven heb ik "met de natte vinger" 5 pixels toegevoegd aan de hoogte en de breedte. Hebben jullie een oplossing hoe ik de goede hoogte en breedte kan krijgen?