Hallo,

Ik ben op zoek naar iemand die een simpele functie in elkaar wil zetten. Je moet flinke ervaring met de GD bibliotheek hebben.
Het zit zo: als ik die functie aanroep, geef ik de URL naar een TTF bestand mee, een letter en een grootte in punten. Dan moet jouw functie de exacte hoogte van die letter maar dan in pixels berekenen. Misschien denk je dat je gewoon een berekeningetje kunt maken maar nee, je zult het script die letter moeten laten schrijven (imagettftext) en dan zal het script het aantal pizels in de hoogte moeten tellen.
Zeg maar hoeveel je ervoor wilt hebben.

Mvg,
Jonathan
Kasper: vergeet je niet de krat Grolsch, 2 6-packs Hoegaarden en twee leuke dames?
Ik weet niet of ik twee leuke dames kan regelen voor 350 euro - een krat Grolsch en 12 flesjes Hoegaarden. Misschien kan je ze rechtstreeks uit Jonathan's harem plukken >:)

De rest komt eraan ;)
@Kasper: Nee, die werkt niet goed. Die geeft de regelhoogte, niet de exacte letterhoogte.
Volgens mij moet het hiermee kunnen: [php]imagefontheight[/php]
Ja maar dat geld niet voor TTF fonts, in de comments van PHP.net (http://nl2.php.net/manual/nl/function.imagettfbbox.php) zag ik trouwens de volgende functie:

<?php
/**
* return width and height, offset [left, top] of a ttf character
* @param string $font : the font file
* @param string $text : the character
* @param int $size : the font size
* @param int $angle : the angle
* @access private
* @return array of the width and height, left and top.
**/
function _getCharacterSize($font, $text, $size, $angle)
{
// Get the boundingbox from imagettfbbox(), which is correct when angle is 0
$bbox = imagettfbbox($size, 0, $font, $text);

// Rotate the boundingbox
$angle = $angle/ 180 * pi();
for ($i=0; $i<4; $i++)
{
$x = $bbox[$i * 2];
$y = $bbox[$i * 2 + 1];
$bbox[$i * 2] = cos($angle) * $x - sin($angle) * $y; // X
$bbox[$i * 2 + 1] = sin($angle) * $x + cos($angle) * $y; // Y
}
// Variables which tells the correct width and height
$bbox["left"] = 0- min($bbox[0],$bbox[2],$bbox[4],$bbox[6]);
$bbox["top"] = 0- min($bbox[1],$bbox[3],$bbox[5],$bbox[7]);
$bbox["width"] = max($bbox[0],$bbox[2],$bbox[4],$bbox[6]) - min($bbox[0],$bbox[2],$bbox[4],$bbox[6]);
$bbox["height"] = max($bbox[1],$bbox[3],$bbox[5],$bbox[7]) - min($bbox[1],$bbox[3],$bbox[5],$bbox[7]);

return $bbox;
}
?>
ff tussen twee haakjes er bestaan niet echt iets als exacte letter hoogte, dat hangt namelijk nogal van de letter en het lettertype af. Er zijn daarom vanuit de letterzetterij 2 waarden bedacht: X-hoogte, de hoogte van de kleine letter x. Die geeft aan hoe groot de kleine letters zijn, en er is regelhoogte.... dat spreekt voor zich.

Kort om wat wil je nou....

Reageren