Itachi261092
@Itachi261092
Веб-разработчик, писатель, геймер...

Как в PHP наложить текст с CSS стилем на картинку?

Подскажите кто знает, если у меня есть дизайн-макет с фоном и слоями текста, которые нужно оформить CSS-стилем и динамически накладывать разный текст в одном этом стиле на фон, и делать таким образом разные картинки, каким образом это лучше всего делать на стороне PHP?

Мне интересен пример реализации, например, того же risovach.ru/mem-generators - вот как это сделано? Есть картинка, есть текст. Они на сервере накладывают этот текст и выдают картинку. Мне по сути надо так же, только текст с CSS-стилем. Понятно, что если сделать шрифт в нужном стиле, то подойдёт обычная GD. У них наверное именно так. Но мне нужна именно поддержка CSS чтобы я мог легко вносить изменения и не приходилось перерисовывать шрифт.
  • Вопрос задан
  • 482 просмотра
Решения вопроса 1
neuotq
@neuotq
Прокрастинация
Нет, это делается не таким образом.
Работа с изображениями в php через специальный библиотеки GD/ImageMagick.
Но чтобы не возиться самому с велосипедо строением, лучше уже использовать готовые обертки.
Я советую image.intervention.io, у них отличная документация, широкие возможности по манипуляциям с изображениям, фильтры, кропы, эффекты и тд и тп. В том числе и работа с текстом, поддержка шрифтов.
Если уж хочется именно css/html шаблоны, то есть библиотека https://github.com/niklasvh/html2canvas , но тут уже вам стоит разделить логику и отображение. Мы у себя успешно использовали эту библиотеку для реализации генерации баннеров автоматически под нужный размер, используя адаптивную верстку. Сама библиотека не идеал, на практике бывают всплывают косяки и проблемы, но думаю для вашей задачи более чем подойдет.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
все что можно сделать на css делается на css.

Если у вас просто блоки с фоном, а не мемасики, то это делается на html/css.
Текст текстом на странице, а не на картинке.

Т.е. надо верстать макет, а не резать и вставлять картинками(sushiwhite.ru/sets/)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы