Hallo zusammen,
mit den folgenden Code versuche ich, mehrere Textzeilen in der Schriftart berlin.ttf Horizontal und Vertikal zentriert darzustellen. Leider scheint es ein Problem zu geben auf dessen Lösung ich bisher noch nicht gekommen bin. Kann da jemand helfen********?
<?php
function ImageStringCenter($image_resource, $font_size, $line_number, $total_lines, $text, $color,$font) {
$center_x = ceil( ( imagesx($image_resource) - ( ImageFontWidth($font_size) * strlen($text) ) ) / 2 );
$center_y = ceil( ( ( imagesy($image_resource) - ( ImageFontHeight($font_size) * $total_lines ) ) / 2) + ( ($line_number-1) * ImageFontHeight($font_size) ) );
//ImageString($image_resource, $font_size, $center_x, $center_y, $text, $color);
imagettftext ($image_resource, $font_size, $center_x, $center_y, 20, $color, $font, $text );
}
header ("Content-type: image/png");
$img = ImageCreate (200, 100);
$font = "/pfad zur ttf/berlin.ttf";
$white = imagecolorallocate ($img,0,0,0);
$black = imagecolorallocate ($img,255,255,255);
imagefilledrectangle ($img,0,0,0,100,$black);
imagefilledrectangle ($img,100,100,0,200,$black);
ImageStringCenter($img,12,1,4,"Test1",$black,$font);
ImageStringCenter($img,14,2,4,"Test2",$black,$font);
ImageStringCenter($img,20,3,4,"Test3",$black,$font);
ImageStringCenter($img,6,4,4,"Test4",$black,$font);
imagepng ($img);
?>
LG
Frank
mit den folgenden Code versuche ich, mehrere Textzeilen in der Schriftart berlin.ttf Horizontal und Vertikal zentriert darzustellen. Leider scheint es ein Problem zu geben auf dessen Lösung ich bisher noch nicht gekommen bin. Kann da jemand helfen********?
<?php
function ImageStringCenter($image_resource, $font_size, $line_number, $total_lines, $text, $color,$font) {
$center_x = ceil( ( imagesx($image_resource) - ( ImageFontWidth($font_size) * strlen($text) ) ) / 2 );
$center_y = ceil( ( ( imagesy($image_resource) - ( ImageFontHeight($font_size) * $total_lines ) ) / 2) + ( ($line_number-1) * ImageFontHeight($font_size) ) );
//ImageString($image_resource, $font_size, $center_x, $center_y, $text, $color);
imagettftext ($image_resource, $font_size, $center_x, $center_y, 20, $color, $font, $text );
}
header ("Content-type: image/png");
$img = ImageCreate (200, 100);
$font = "/pfad zur ttf/berlin.ttf";
$white = imagecolorallocate ($img,0,0,0);
$black = imagecolorallocate ($img,255,255,255);
imagefilledrectangle ($img,0,0,0,100,$black);
imagefilledrectangle ($img,100,100,0,200,$black);
ImageStringCenter($img,12,1,4,"Test1",$black,$font);
ImageStringCenter($img,14,2,4,"Test2",$black,$font);
ImageStringCenter($img,20,3,4,"Test3",$black,$font);
ImageStringCenter($img,6,4,4,"Test4",$black,$font);
imagepng ($img);
?>
LG
Frank