![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: Apr 2002
Сообщений: 77
|
Создаю изображение, пишу на нем с помощью imagettftext(), русское слово, шрифтом verdana.ttf, выдает символы какие-то. Как сделать, чтобы все было хорошо?
Спасибо. |
|
|||||
|
Ветеран форума
|
function utf($str) {
$utf = "";
for($i = 0; $i < strlen($str); $i++)
{
$donotrecode = false;
$c = ord(substr($str, $i, 1));
if ($c == 0xA8) $res = 0xD081;
elseif ($c == 0xB8) $res = 0xD191;
elseif ($c < 0xC0) $donotrecode = true;
elseif ($c < 0xF0) $res = $c + 0xCFD0;
else $res = $c + 0xD090;
$utf .= ($donotrecode) ? chr($c) : (chr($res >> 8) . chr($res & 0xff));
}
return $utf;
}
$im = imagecreatetruecolor (400, 100);
$black = ImageColorAllocate ($im, 0, 0, 0);
$white = ImageColorAllocate ($im, 255, 255, 255);
ImageTTFText ($im, 40, 0, 10, 50, $white, "verdanab.ttf", utf("Пример текста"));
Header("Content-type: image/png");
ImagePng($im);
ImageDestroy ($im);
|
|
|||||
|
Регистрация: Apr 2002
Сообщений: 77
|
Класс!
Есть еще вопрос: Можно ли убрать антиалиасинг, как в фотошопе? (то есть чтобы не сглаживалось) |
|
|||||
|
Ветеран форума
|
нет. нельзя
|
![]() |
Часовой пояс GMT +4, время: 08:25. |
|
|
« Предыдущая тема | Следующая тема » |
|
|