Probleem met verticale uitlijning.
Marten van den brand
15/06/2010 16:10:10Ik heb een script waarmee ik jpeg afbeeldingen genereer. Momenteel gaat er iets fout. De gegenereerde tekst wordt weergegeven met de leestekens bovenaan uitgelijnd. Als er een punt in de zin staat dan wordt deze bovenaan de regel weergegeven in plaats van onderaan. Weet iemand wat er fout gaat of is dit een bug?
Hieronder het script:
Hieronder het script:
Code (php)
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
30
31
32
33
34
35
36
37
38
39
40
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
30
31
32
33
34
35
36
37
38
39
40
<?php
header("Content-Type: image/jpeg");
/* String */
$text = $_GET['t'];
$text = eurofix($text);
/* Fix voor het euro teken */
function euroFix($str) {
$euro=utf8_encode('€');
$str = preg_replace('/\x80/',$euro,$str);
return ($str);
}
/* Bereken hoogte van tekst */
function calcHeight($str) {
$dim = imagettfbbox(10, 0, 'fonts/arial.ttf', $str);
$hoogte = $dim[4] - $dim[6];
return ($hoogte);
}
/* Midden berekenen */
function findMiddle($hgt) {
$middle = 85 - $hgt;
$middle = $middle / 2;
$middle = round($middle);
$middle = 85 - $middle;
return ($middle);
}
$im = ImageCreateFromJPEG("images/prijs.jpg");
$wit = ImageColorAllocate($im, 255, 255, 255);
Imagettftext($im, 10, 90, 8, findMiddle(calcHeight($text)), $wit, 'fonts/arial.ttf', $text);
imagejpeg($im, '', 100);
ImageDestroy($im);
?>
header("Content-Type: image/jpeg");
/* String */
$text = $_GET['t'];
$text = eurofix($text);
/* Fix voor het euro teken */
function euroFix($str) {
$euro=utf8_encode('€');
$str = preg_replace('/\x80/',$euro,$str);
return ($str);
}
/* Bereken hoogte van tekst */
function calcHeight($str) {
$dim = imagettfbbox(10, 0, 'fonts/arial.ttf', $str);
$hoogte = $dim[4] - $dim[6];
return ($hoogte);
}
/* Midden berekenen */
function findMiddle($hgt) {
$middle = 85 - $hgt;
$middle = $middle / 2;
$middle = round($middle);
$middle = 85 - $middle;
return ($middle);
}
$im = ImageCreateFromJPEG("images/prijs.jpg");
$wit = ImageColorAllocate($im, 255, 255, 255);
Imagettftext($im, 10, 90, 8, findMiddle(calcHeight($text)), $wit, 'fonts/arial.ttf', $text);
imagejpeg($im, '', 100);
ImageDestroy($im);
?>
Er zijn nog geen reacties op dit bericht.