Создание изображения на PHP

12
maldivec
На сайте с 04.11.2008
Offline
160
1157

Есть пара мыслей, но может кто сталкивался с задачей и что-то дельное подскажет.

Вот как пример, сайт генерирует фейковый скриншот переписки - http://www.iphonetextgenerator.com/ т.е. текст мы вбиваем в нужные поля, а скрипт из него рисует изображение.

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

Может кто ссылочкой поделится, что почитать на эту тему?

Мысль есть на счет генерации итога на html+css и последующее создание скриншота экрана через сервис типа http://netrenderer.com/. Но там размеры скриншота неподходят. Мож есть путь покороче?

[umka]
На сайте с 25.05.2008
Offline
456
#1

Вряд ли кто-то когда-то озадачивался написанием статей на подобную тему :)

Элементы изображений можно наверняка выковырять из iOS, а дальше уже дело техники.

Подозреваю, что добиться 100% сходства не получится. Например, из-за технологии сглаживания шрифтов.

Лог в помощь!
forest25
На сайте с 12.09.2009
Offline
67
#2

И как всегда все самое лучшее на официальном сайте =)

http://php.net/manual/ru/book.image.php

http://php.net/manual/ru/book.imagick.php

VPS 512MB 20GB SSD KVM - 5$ (http://u.hmdw.me/digitalocean) | ИМХО о хостингах (http://u.hmdw.me/hosting)
maldivec
На сайте с 04.11.2008
Offline
160
#3

forest25, отличный совет. Еще в гугль отправили бы. Это я все прекрасно знаю.

[umka:
;11492851]Вряд ли кто-то когда-то озадачивался написанием статей на подобную тему
Элементы изображений можно наверняка выковырять из iOS, а дальше уже дело техники.

Подозреваю, что добиться 100% сходства не получится. Например, из-за технологии сглаживания шрифтов.

Причем тут вообще iOS и элементы? И о каком сходстве вы говорите?

Вы уже знаете что я собрался отрисовывать? )))

Сайт приведен как пример работы. Вводим текст - получаем картинку. Картинка разная для разного текста.

[umka]
На сайте с 25.05.2008
Offline
456
#4
maldivec:
Причем тут вообще iOS и элементы? И о каком сходстве вы говорите?
Вы уже знаете что я собрался отрисовывать? )))

Ну вы привели пример, и я продолжил логическую цепочку :)

maldivec
На сайте с 04.11.2008
Offline
160
#5
[umka:
;11492888]Ну вы привели пример, и я продолжил логическую цепочку

Ну допустим. Тогда поясните

[umka:
;11492851]а дальше уже дело техники.

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

[umka]
На сайте с 25.05.2008
Offline
456
#6

Так всё точно так же, как вы верстаете html табличками или div-ами, только размер "ячеек" вы определяете самостоятельно, в зависимости от текстов.

А чтобы определить линейные размеры текстового блока, в GD есть специальная функция. Вот она.

vandamme
На сайте с 30.11.2008
Offline
675
#7

как вам уже сказали, нужно знать php и при его помощи вы можете создать и пузырьки для цитат и надписи в этих пузырьках и много еще чего другого, скрипт написать достаточно, но он достаточно объемный будет и тут вряд ли кто-то сделает это бесплатно.

вот пример рисования рожицы и вывода текста

http://www.php5.ru/articles/image

maldivec
На сайте с 04.11.2008
Offline
160
#8
vandamme:
как вам уже сказали, нужно знать php

Спасибо. На php для своих (да и не только своих) нужд пишу с 2008 года. Просто с изображениями не сталкивался еще, кроме банальных воретмарков, подписей, ресайзинга и т.п.

То что вы предлагаете — это действительно огромный геморрой. Отрисовка всех элементов на php — да кому это надо )) Так только вот рожицы такие и рисовать.

Идея в наложении готовых элементов будущего изображения друг на друга на нужных координатах. Хотя мне это видится ресурсозатратным...

Вот пример бы такой "верстки" изображения посмотреть. Пока ищу... Основная проблема - тянущиеся элементы. Для статики достаточно знать размеры, подсчитать координаты и воткнуть куда надо.

vandamme
На сайте с 30.11.2008
Offline
675
#9

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

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

M
На сайте с 12.11.2005
Offline
122
#10

maldivec, несколько заготовок бэкграунда (экрана) в зависимости от количества сообщений и объема текста, несколько заготовок фонов сообщений (пузырьков) в зависимости от длины текста, а дальше все это слепить вместе - не сложнее наложения вотермарка, просто математически рассчитать местоположение и размеры. При фиксированном шрифте можно оперировать просто цифрами, а не функциями определения размеров занимаемой площади.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий