Эффективное создание баннеров изображений PHP - PullRequest
1 голос
/ 11 августа 2011

Многие веб-сайты начинают предлагать сгенерированные графические баннеры для администраторов серверов, чтобы они отображали статистику на своих веб-сайтах. Поскольку многие наши клиенты запрашивали это у нас для конкретного типа сервера, я начал изучать его.

Вот макет, который я сделал для объяснения ...

enter image description here

1) В основном у меня будет это изображение без белого текста в качестве шаблона. Что было бы наиболее эффективным способом сделать это, поскольку у нас, скорее всего, будет довольно много таких? Должен ли я просто перестроить образ, когда кто-то просматривает его (запросить сервер / создать новый образ), или мне следует запрашивать сервер каждые Х минут, хранить данные в базе данных и перестраивать образ каждые Х минут?

2) Текст на нем теперь является нестандартным шрифтом с белым текстом и черным штрихом размером 2 пикселя. Могу ли я использовать собственные шрифты с эффектами обводки в PHP при его создании?

3) Для создания (Игроки за 24-часовой график) я искал Рисунок B для гистограмм. Могу ли я просто поместить фоновое изображение на баннер, а затем нарисовать гистограмму поверх него на основе данных из базы данных?

Ответы [ 2 ]

0 голосов
/ 11 августа 2011

самый эффективный способ - генерировать изображение наименьшее количество раз.Нет смысла запрашивать базу данных каждые x минут, чтобы генерировать эти изображения, если, например, люди смотрят на график только два раза в день.

Если производительность становится проблемой, вы можете кэшировать выходное изображение в течение x минути запрашивать базу данных только после этого времени.(это зависит от того, насколько быстро изменяются данные) Также, если вы хотите сохранить нагрузку на свой главный сервер, это идеальная задача для использования вторичного сервера.

Обработка шрифтов в php довольно ограничена.взгляните на gd для обработки изображений.

Как вы упомянули, лучше всего визуализировать график, затем наложить это изображение и текст на заданное вами фоновое изображение.

0 голосов
/ 11 августа 2011

Для # 1 вы должны запрашивать каждые X минут. Вы можете ускорить его, проверив, действительно ли что-то изменилось. Рендеринг изображений через PHP может быть дорогостоящим (по крайней мере, по моему опыту), и вы определенно захотите свести к минимуму частоту его выполнения, особенно если у вас много работы.

...