
10.09.2007, 00:20
|
|
Новичок
Регистрация: 26.08.2007
Сообщений: 8
Провел на форуме: 80008
Репутация:
3
|
|
В свое время заморочился с подобной аватаркой и, может быть, выложу то, что поучилось куда-нибудь.
По пути столкнулся с проблемой написания текста на картинке по-русски и определенным шрифтом.
Решил проблему, используя функцию imagettftext из gd библиотеки.
Вот как пользовать:
PHP код:
imagettftext(
$img, //- исходная картинка
$fs, //- размер шрифта
$gr, //- угол наклона шрифта
$X, $Y, //- координаты надписи
$color, //- цвет шрифта(например, 0x004d79 - 0xRRGGBB)
$fnt, //- имя ttf-файла шрифта
$str //- записываемая строка в юникоде.
);
т.к. imagettftext принимает только юникод, используем
функцию конвертирования cp1251 в unicode:
PHP код:
function win2uni($s)
{
$s = convert_cyr_string($s,'w','i'); // преобразование win1251 -> iso8859-5
// преобразование iso8859-5 -> unicode:
for ($result='', $i=0; $i<strlen($s); $i++)
{
$charcode = ord($s[$i]);
$result .= ($charcode>175)?"&#".(1040+($charcode-176)).";":$s[$i];
}
return $result;
}
|
|
|