![]() |
[Q] функция текстовой дуги (PHP, GD)
Помогите пожалуйста написать функцию: нужно вывести текст в виде дуги.
textarc(“antichat”, x, y, start, end, r); - текстовая дуга с радиусом r, с центром в точке (x,y) от угла start до угла end выводит текст antichat Большое спасибо scrat! PHP код:
|
можно пример такой дуги? я не очень понял.
|
Да, пожалуйста:
http://s48.radikal.ru/i120/0903/27/360236be902b.jpg |
ну вот информация к размышлению:
PHP код:
http://s55.radikal.ru/i149/0903/55/da5e4bece065.jpg дальше ломает чото:) |
тут либо считать угол наклона каждой буквы либо искажать изображение
|
Pashkela, мне тоже в голову сначала пришло, что нужно через цикл для каждого символа менять координаты…. Из-за середины больше на знак крышки похоже, чем на дугу. Но думаю если количество символов в строке четное, например 6, то для 3го и 4го символа задавать специальные координаты, если нет, скажем 5, то для 3го символа.
scrat, я c GD только сейчас начал работать, подскажите, пожалуйста, как с искажением можно сделать? |
Ну да, в этом ручье, и сдвиг не такой большой (+10), чтобы типо плавный переход. В общем этот алгоритм, этот. Просто начинать надо с центральной буквы (предварительно даже, вероятно, перегнав строку в массив), а потом уже плясать.
тут главное вот оно, imagechar, остальное - дело техники. Если нечетное - центральная буква выше всех, четное - две средних буквы типо на одном уровне. В общем надо проверять А радиус вообще элемнтарно посчитать - y-первой буквы минус y-той буквы, что выше всех (или двух букв) А итоговый результат зависит как и от РАЗМЕРА шрифта, так и от ТИПА шрифта, в общем чисто визуальное восприятие. |
Эм, а не легче будет найти/написать свой шрифт дугоподобный?
|
если вы не видите что надпись на картинке по дуге,то вам надо срочно употребить LSD.
http://leprastuff.ru/data/img/200903...c4971173f7.jpg ps ща доделаю. |
mailbrush, каждый символ такого шрифта должен иметь несколько позиций и нужно будет вычислять когда использовать каждую позицию символа.
|
Цитата:
|
http://leprastuff.ru/data/img/200903...d70f98f3bb.png
До конца лень доделывать,сам разберёшься. Общий принцип такой. Если нужны пояснения - пиши в пм/аську. PHP код:
|
В сети по данному сабжу не чего не нашел…
Pashkela, scrat, спасибо Вам большое за помощь!! PHP код:
|
Цитата:
|
scrat, скрипт не работает =\
|
Chaak, GD>=2, arial.ttf в текущей директории скрипта.
|
Все есть =\ скрипт генерирует черную точку по центру
|
у меня работает
|
Кладу рядом arial.ttf
Php 5.3 Gd 2.1 |
Chaak, у меня такой же суповой набор и все работает. Как вариант если точка есть, то возможно радиус выставлен большой и текстовая дуга находится за пределами изображения.
Я поправил функцию и отредактировал свой первый пост, теперь наклон букв нормальный стал. |
| Время: 13:03 |