2008-12-12 4 views
0

Возможно ли преобразовать часть веб-страницы в изображение. Допустим, у меня есть div, который содержит текст и изображение внутри. Я хочу сохранить весь этот div как изображение на стороне сервера, чтобы я мог использовать это изображение со следующего раза.Создание динамического образа

Не могли бы вы сообщить мне, есть ли расширение jquery plug/расширение php, которое делает это. Я только что узнал об этом http://www.visionmasterdesigns.com/tutorial-convert-text-into-transparent-png-image-using-php/

, но это просто преобразование текста в png. Но я хочу преобразовать в изображение.

Заранее спасибо.

С уважением, ~ Шафи

+0

Что-то не хватает в «Но я хочу преобразовать в изображение». ? – 2008-12-12 10:04:41

ответ

0

Я уверен, что вы не можете сделать это в JavaScript/JQuery. Так или иначе, без плагина.

Также звучит немного странно для хранения текста в качестве изображения.

0

Вы можете исследовать возможность использования одной из служб, которая это делает. Большинство из них делают эскизы, в соответствии с тем, что вкусно использует. Но http://www.webshotspro.com/ выглядит так, как будто он может делать полные res. Есть ли способ, которым вы можете использовать свой API для получения снимка экрана, а затем вырезать бит, который вам нужен? Это действительно зависит от того, что/зачем вам это делать.

3

Вы можете использовать механизм браузера, отображающий страницу как изображение, а затем вырезать требуемый раздел страницы.

Я не знаю, есть ли расширение jquery или php, которое делает это за вас, но вы можете использовать вызов exec и использовать, например, CutyCapt, чтобы отобразить страницу, и расширение обработки изображений, чтобы обрезать его. Я сам не тестировал программное обеспечение, но это начало.

0

Определенно не делайте этого на клиенте, даже если бы это было возможно (элемент js и canvas), вам нужно было бы верить клиенту (и спамеры могли использовать его, чтобы дать вам рекламу вместо частичного скриншоты), зависит от шрифтов клиента, настройки цвета и т.д.

Правильный способ сделать это на сервере, либо вызова приходят командной строки браузера, получить снимок экрана программно и закрыть его (но это будет очень сложно для реализации, налогообложения на сервере, и что происходит, когда вы, например, очищаете кеш? на популярном сайте, все может быть повторно отображено сразу и попытаться установить 100 экземпляров браузера в ОЗУ ...).

Я:

  1. Рассмотрим, если мне действительно нужно сделать это таким образом, и есть ли лучшее решение исходной задачи (вы должны визуализировать части сайта в образы, почему бы кэширование? эта часть html делает трюк? Или iframe?)
  2. Если да, сделайте это с помощью поддерживаемых PHP графических библиотек, таких как GD, вам придется самостоятельно компоновать чертеж, возможно, есть некоторые библиотеки, которые позволят это сделать на более высоком уровне (заполнение области макета текстом вместо ручного разбиения его по линиям и т. д.)
1

Что именно вы пытаетесь сделать, выполнив это?

LOLcat стиль изображения субтитры? Я бы использовал Gd2 и изменил изображение напрямую.

Упрощенный веб-макет страницы? Вероятно, быстрее кэшировать исходный код div. Я также предлагаю создать несколько вручную и сравнить полученные размеры передачи файлов, я бы поставил себя практически во всех случаях (оригинальный HTML + изображение) меньше, чем (результирующее изображение).

0

Если вы решили сделать изображение, вы должны

  1. вызов автономный веб-браузер, или
  2. встраивать (X) HTML-рендеринга, или
  3. ограничить ввод такие варианты, которые вы можете написать (сильно упрощенный) пользовательский визуализатор или
  4. делегировать работу внешней службы

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

  1. на Windows: вызов IE с использованием COM-автоматизации; по Linux: см. http://www.chimeric.de/blog/2007/1018_automated_screenshots_using_bash_firefox_and_imagemagick

  2. для Windows: см. http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.aspx; на Linux, см. http://webkit.org/building/build.html или http://khtml2png.sourceforge.net/ Вы также можете рассмотреть привязки PHP-Qt или PHP-GTK.

Надеюсь, что это поможет.

2

«У меня есть образец div, который подвергается пользователю, чтобы его модифицировать, который вмещает два изображения и некоторый текст. Он может выбрать изображение из многих, которые мы предлагаем. Наконец, я хочу сохранить его как одно большое изображение «.

В этом случае захват экрана на стороне клиента является неправильным способом для этого. Вы должны разрешить компоновку изображения в браузере пользователей (как это звучит, как будто вы сделали эту часть), но затем отправьте браузер обратно информацию, необходимую для воссоздания изображения * на сервере, который вы затем выполняете с GD, ImageMagick или что-то подобное. Это будет легче, чище и быстрее во многих отношениях :)

*, например:

  • ImageID: 7
  • текст: 'мля'
  • textcolour: #ffffff
  • TEXTSIZE: 3
  • textx: 10
  • texty: 10

РЕДАКТИРОВАТЬ: Вы должны, вероятно, также поставить цитированную часть в вопрос, поскольку это не совсем ясно из исходного сообщения.

Смежные вопросы