Картинка imagettftext()

1. ZipeR (21.11.2010 / 09:07)
Мне нужно отобразить текст на картинке с помощью imagettftext().
Какой файл шрифта мне нужен, чтобы правильно отбражалась кириллица?
Уже юзал очень многие, но ничего не помогало.
Мне важно, чтобы файл шрифта весил меньше 8 мб, ибо бесплатный хостинг ограничивает.
Спасибо заранее.

2. ZipeR (21.11.2010 / 09:26)
Надо меньше 8 метров так как скрипт будет работать не только на платных хостах

3. KOZZ (21.11.2010 / 09:26)
не думаю что функцию эту как то можно заставить работать с кириллицей, хотя хз )
лучше накладывай картинку с прозрачным фоном и нужным текстом

4. ZipeR (21.11.2010 / 09:27)
3. Ботаник eGo, перекодировать может надо шрифт?

Добавлено через 01:09 сек.
нет и это не помогло vtopku

Добавлено через 03:12 сек.
Ладно жду помощи от тех кто знает как проблему решить obana

5. KOZZ (21.11.2010 / 09:36)
нашел в гугле:
даже при указании своего шрифта функции imagettftext() кириллица может выводиться в неверной кодировке.

Есть несколько способов решения этой проблемы. Самый простой – конвертировать строку с символами кириллицы в кодировку UTF-8:
$text = iconv("windows-1251", "UTF-8", "наш текст");

Также нам может помочь загрузка своего шрифта, например, формата .phpfont посредством imageloadfont(). Такой шрифт может быть создан в специальном редакторе и будет поддерживать все необходимые вам символы, в том числе и русские буквы. Благодаря этой возможности вы также можете использовать нестандартные шрифты – все, на какие способно ваше воображение.


6. ZipeR (21.11.2010 / 09:46)
Если будут ставить на бесплатный хост то не вытянит мой функционал sad

7. ZipeR (21.11.2010 / 11:12)
А каким нибудь конвертом ещё можно сделать?

8. Сааааа-нёёёёё-к (21.11.2010 / 12:52)
Ты код покажи, может проблема не в шрифте!?
<?php
/*
*Вывод надписи на изображении ttf шрифтом
*автор: nc_soft
*12.10.07
*/
//текст в утф-8 (можно с переносом строки)
$text="выводимая \n строка";
//АБСОЛЮТНЫЙ путь к шрифту! например шрифт arial.ttf лежит в папке скрипта
$font=getcwd().'/arial.ttf';
//создаем изображение 100*100
$im = imagecreatetruecolor(100, 100);
//белый фон изображения
$white = imagecolorallocate($im, 255, 255, 255);
//цвет букв
$red = imagecolorallocate($im, 255, 0, 0);
//заливаем белым фоном
imagefilledrectangle($im, 0, 0, 100, 100, $white);
//наносим текст
imagettftext($im, 9, 0, 10, 20, $red, $font,$text);
/*
imagettftext ( 
идентификатор,
размер шрифта,
угол поворота,
начальная точка по Х,
начальная точка по У,
путь к шрифту,
текст )
*/
//выдача в браузер
header('Content-Type: image/jpeg');
imagejpeg($im);
?>


9. Максим (21.11.2010 / 12:54)
Знаешь, не так давно я сам заморачивался на эту тему, то что написано выше этого сообщения мало чем поможет. зайди в мою анкету, далее просмотри все мои темы созданные на этом форуме, мне точно на это вопрос ответили, но не писали целый мануал с функцией, а привели ссылку на сторонний ресурс. ищи хорошенько и найдешь! с тебя +1

Добавлено через 05:43 сек.
Тема называется "русский текст на картинке". там точно найдешь, только надо код немножко исправить и будет тебе радость)

10. ZipeR (22.11.2010 / 07:23)
Всем спасибо перекодировку придумал smile

URL: https://visavi.net/topics/15722