PHP函数:imagefttext不允许HTML

时间:2013-06-10 15:22:21

标签: php gd

我不知道GD库中是否还有其他功能,但我尝试通过他们的文档进行研究。 无论如何,似乎imagefttext()函数不支持html,只是纯文本。

$text = '<strong>Your Price:</strong><br />$'.$promo_data['selling_price'];

    @imagefttext($image, 12, 0, 163, 30, $color, '../images/gdprac/LUCIDASANSSTD.OTF', $text);

它只输出html标签,不会将其翻译为HTML。 有没有其他功能允许HTML或无论如何使用此功能绕过它?

谢谢!

2 个答案:

答案 0 :(得分:2)

gd函数与HTML无关。

如果要将文本设为粗体或斜体,请提供相应的字体文件作为参数,例如:

imagefttext($image, ..., '../images/gdprac/LUCIDASANSSTD-Bold.OTF', $text);

如果你想布局文本(将粗体与普通文字组合,写入“行”),你必须自己手动计算所有文本输出的位置:imageftbbox将让你知道文本将占用多少空间,你将使用这些信息来计算下一篇文章的去向。

答案 1 :(得分:1)

imagefttext只能将纯文本绘制到图像中,不支持HTM。

如果你要将BOLD文字输出到图像,你要么使用粗体字,要么尝试这个技巧:

<?php
function drawboldtext($image, $size, $angle, $x_cord, $y_cord, $r, $g, $b, $fontfile, $text) 
{ 
   $color = ImageColorAllocate($image, $r, $g, $b); 
   $_x = array(1, 0, 1, 0, -1, -1, 1, 0, -1); 
   $_y = array(0, -1, -1, 0, 0, -1, 1, 1, 1); 
   for($n=0;$n<=8;$n++) 
   { 
      ImageTTFText($image, $size, $angle, $x_cord+$_x[$n], $y_cord+$_y[$n], $color, $fontfile, $text); 
   } 
} 
?>