![]() |
[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, каждый символ такого шрифта должен иметь несколько позиций и нужно будет вычислять когда использовать каждую позицию символа.
|
| Время: 01:17 |