Подскажете как нарисовать картинку с текстом

Кощей

if(!$needle) die("ooh");
Подскажете как нарисовать картинку с текстом

Нужно нарисовать картинку с текстом (email)
Я сделал по принципу как написано на сайте в разделе статьи но она выходит всегда одинакового размера, как можно изменять размер картинки в зависимости от размера имейла, и как скрыть любую возможность узнать имеил, так как сейчас чтобы вызвать картинку с имейлом к примеру [email protected] я вывожу:
<img src="functions/[email protected]">
 

WP

^_^
partizan
Партизаны вообще-то молчать должны :D Ты прикинь сколько будет записей в сессии. Тогда уж $id = crc32($email)+rand(0,1);
Кощей
Во-первых можно Javascript'ом запутать легко.
Во-вторых размер картинки можно вычислить умножив кол-во символов на среднюю ширину символа (узнать ее можно у [m]imagefontwidth[/m]()). Более точно можно с помощью спец. функции.
 

WP

^_^
Подумай сколько к диску будет обращений, если делаешь хоумпагу где с грехом пополам 10 хостов день - нормально, а если серьезный проект которому прятать мыла понадобилось то бред. Лучше из СУБД брать. Ведь [email protected] явно не в скрипте хранится, в БД скорее всего.
 

hermit_refined

Отшельник
Запутывать никого не нужно. E-mail кому-то принадлежит, вот и надо генерировать картинку functions/emailpic.php?id=id-этого-кого-то.
 

Кощей

if(!$needle) die("ooh");
спасибо, реально приделаю имеил к id записи
жаль это еще один запрос к базе
 

WP

^_^
Кощей
Почему жаль? Пора уже вырасти из этих штанишек.
 

uliss

Новичок
Автор оригинала: Кощей
спасибо, реально приделаю имеил к id записи
жаль это еще один запрос к базе
Можно и даже нужно кэшировать - записывать сгенерированные картинки на диск
 

dantistus

Новичок
По поводу ширины - создаешь картинку заведомо болльшего размера, пишешь в ней текст имейла, допустим функцией imagettfbox(...); функция возвращает тебе размер прямоугольника, в который вписывается созданная надпись (подробнее в мане почитай). Далее ты уже создаешь рисунок нужного размера и пишешь текст "тютелька в тютельку". Там только косяк с подстрочными элементами (буквы g, j, p, q, y - может зависеть от шрифта).
 
Сверху