php更改ImageString()的字体

时间:2014-10-18 08:37:53

标签: php text textcolor

我正在处理需要以下内容的小项目:

  • 图像前面必须有文字。
  • 文字处于居中位置。

我的代码遵循指令,但我想更改文本的字体系列..

ImageString($background, $font_size, $position_center, $position_middle, $text, $textcolor);

这是我的完整代码:

header('Content-type: image/png');
$background1 = "files/bg.png";
$background = imagecreatefrompng($background1);
$width = 630;
$height = 315;
$text = "EXAMPLE TEXT";
$font_size = 50;
$font_family = "files/tahoma.ttf";
$font_width = ImageFontWidth($font_size);
$font_height = ImageFontHeight($font_size);
$text_width = $font_width * strlen($text);
$position_center = ceil(($width - $text_width) / 2); //CENTER THE TEXT
$text_height = $font_height;
$position_middle = ceil(($height - $text_height) / 2); // MIDDLE THE TEXT
$textcolor = ImageColorAllocate($background, 255, 255, 255);
$image_string = ImageString($background, $font_size, $position_center, $position_middle, $text, $textcolor);
imagepng($background);
imagedestroy($background);

2 个答案:

答案 0 :(得分:0)

看看最后两个语句,不使用$ image_string。

答案 1 :(得分:0)

imagettftext可用于使用TrueType字体将文本写入图像。 functino的位置参数是指左边缘,要使它居中,你需要计算正确的坐标,看看这个php.net评论如何做到:http://no2.php.net/manual/en/function.imagettftext.php#83248