我正在使用GD动态生成图像,以便在页面上显示标题图像。目前生成的图像超过100张,其中绝大部分都效果很好。
最近我们发现某些标题打破了图像创建,在2个字符之间插入了一个大的水平空间。
用于图像生成的字体是Interstate,以下是标题工作的一些示例,以及一个破坏的示例。在破损的标题的情况下,彼此靠近的字符“JB”打破了它。翻转字符或在它们之间有任意数量的字符可以正确生成图像。
正如您从示例中看到的那样,标题可以同时处理文本的短部分和长部分,这只是一个到目前为止打破它的示例,真正开始让我感到困惑并怀疑字体文件或GD中的错误,有什么建议吗?
alt text http://far.id.au/jkf/so/jb.png alt text http://far.id.au/jkf/so/bj.png alt text http://far.id.au/jkf/so/cheesecake.png alt text http://far.id.au/jkf/so/blah.png
代码:
private function GenerateImage()
{
$height = 31;
$width = $this->Width;
$x = 10;
$y = 20;
$font_size = 10;
$text_colours = $this->ToRGB($this->TextColour);
$background_colours = $this->ToRGB($this->BackgroundColour);
$image = imagecreatetruecolor($width,$height);
$fg_color = imagecolorallocate($image,$text_colours[0],$text_colours[1],$text_colours[2]);
$bg_color = imagecolorallocate($image,$background_colours[0],$background_colours[1],$background_colours[2]);
imagefill($image,0,0,$bg_color);
imagettftext($image,$font_size,0,$x,$y,$fg_color,$this->Font,strtoupper($this->Title));
return imagepng($image,$this->FilePath,9);
}
答案 0 :(得分:0)
腐败的字体是责备