2013-06-10 3 views
0

Я не знаю, есть ли другая функция в библиотеке GD, но я попытался изучить их документацию. Во всяком случае, похоже, что функция imagefttext() не поддерживает html, просто текст.Функция PHP: 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 или вообще обойти это с помощью этой функции?

Спасибо!

ответ

1

imagefttext может рисовать только обычный текст, HTM не поддерживается.

Если то, что вы хотите, чтобы outpout полужирный текст к изображению, вы либо использовать жирный шрифт, или попробовать этот трюк:

<?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); 
    } 
} 
?> 
+0

Спасибо за ответ. Я попробую это. – Peanut

2

Функции gd не имеют ничего общего с HTML.

Если вы хотите, чтобы сделать текст жирным или курсивом, то поставить соответствующий файл шрифта в качестве аргумента, например:

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

Если вы хотите выложить текст (сочетать смелую с нормальным, писать в «lines») вам придется вручную самостоятельно вычислять позицию всего текстового вывода: imageftbbox сообщит вам, сколько места займет текст, и вы будете использовать эту информацию, чтобы рассчитать, куда должен идти следующий фрагмент текста.

+0

Спасибо за ответ. Я попробую это. – Peanut

Смежные вопросы