使用imagettftext时填充矩形而不是文本

时间:2011-12-17 20:05:06

标签: php fonts gd render imagettftext

使用imagettftext()渲染文本时遇到一些问题;不知何故,它只显示填充的矩形。完全没有错误。 http://postimage.org/image/k61c8xi0n/

  • PHP版本:5.3.8
  • GD支持:已启用
  • GD版本:捆绑(2.0.34兼容)
  • Freetype支持:已启用
  • Freetype链接:使用freetype
  • Freetype版本:2.4.3

这是代码,没什么奇怪的。字体路径有效。

<?php 
header("Content-type: image/png");
$template = imagecreatefrompng("template.png");

imagealphablending( $template, false );
imagesavealpha( $template, true );

$white = imagecolorallocate($template, 255, 255, 255);
imagettftext($template, 20, 0, 100, 50, $white, 'arial.ttf', 'Some text');

imagepng($template);
?>

3 个答案:

答案 0 :(得分:3)

使用你的代码,如果我将imagealphablending设置为true(或将其注释掉),它就能正常工作。

答案 1 :(得分:0)

使用:

$font = dirname(__FILE__)."/arial.ttf";
imagettftext($template, 20, 0, 100, 50, $white, $font, 'Some text');

答案 2 :(得分:0)

我已经通过用新的TTF文件替换解决了此问题。服务器迁移后,旧文件已损坏。