0

我正在使用 GD 为页面上的标题图像动态生成图像。目前生成了 100 多张图像,其中绝大多数效果很好。

最近我们发现某些标题破坏了图像创建,其中在 2 个字符之间插入了一个大的水平空间。

用于图像生成的字体是 Interstate,以下是一些标题工作的示例,以及一个损坏的示例。在损坏的标题的情况下,是彼此靠近的字符“JB”损坏了它。翻转字符或在它们之间有任意数量的字符会导致正确生成图像。

正如您从示例中看到的那样,标题适用于短文本和长文本部分,到目前为止,这只是一个打破它的例子,真的开始让我感到困惑并怀疑字体文件或 GD 中存在错误,有什么建议吗?

替代文字 http://far.id.au/jkf/so/jb.png 替代文字 http://far.id.au/jkf/so/bj.png 替代文字 http://far.id.au/ jkf/so/cheesecake.png 替代文字 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);
}
4

1 回答 1

0

损坏的字体是罪魁祸首

于 2010-09-15T06:33:29.453 回答