Как генерировать изображения в php и jquery? - PullRequest
0 голосов
/ 20 июня 2011

Можно ли как-нибудь сгенерировать одно изображение из нескольких изображений, перетаскиваемых пользователем на некоторых позициях контейнера div?

Я пытался сделать это, используя холст html5, однако html5 canvas неИнтеграция с использованием jquery для изменения источника изображений на холсте.

Ответы [ 2 ]

3 голосов
/ 20 июня 2011

Вы можете опубликовать URL-адреса и координаты изображений в сценарии PHP, а затем (на стороне сервера) собрать различные изображения в одно с помощью функций обработки изображений PHP .

РЕДАКТИРОВАТЬ

Я дам краткое руководство о том, как вы можете выполнить свою задачу.

У вас будет форма с 3 массивами скрытых <input> s: URL-адреса изображений, координаты х и координаты у размещенных изображений.Они будут заполняться через jquery, когда пользователь перетаскивает изображений в контейнер.

Сценарий сборки будет работать аналогично:

  1. Создать (большой) пустое изображение контейнера (с помощью imagecreatetruecolor () ), назовем его $imcont
  2. Считывание последовательно отправленных URL-адресов (например, $_POST['url'][$i]), открытие соответствующего изображения исоздайте для каждого изображения, например, imagecreatefromstring ( file_get_contents ($ _ POST ['url'] [$ i]));

    , если вам нужноРазмеры маленького изображения, вы можете использовать getimagesize () , например:

    list($iwidth,$iheight) = getimagesize($_POST['url'][$i]);

  3. imagecopy () созданное изображениев пт.2 в $imcont, в соответствующих координатах POSTed (например, $_POST['xcoords'][$i],$_POST['ycoords'][$i])
  4. Повторите pt.2 и 3 для каждого размещенного изображения.
  5. Сохраните сгенерированное изображение $imcont, например, если вы хотите создать изображение в формате JPEG, используйте imagejpeg ().

Обратите внимание:

  • Для POST-массивов из формы используйте [] после имени ввода, например, <input name="foo[]" ... >;
  • $i isиндекс в цикле for;
  • обычно вы не публикуете полный путь к файловой системе, как того требует file_get_contents (), поэтому вам, вероятно, придется добавить базовый каталог изображений к $_POST['url'][$i];
  • если вы хотите читать изображения с URL-адреса, например http://www.site.com/image.jpg (в противоположность пути файловой системы, например /usr/share/images/image.jpeg), вам необходимо включить allow_url_fopen в конфигурации PHP;
  • изображения будут скопированы в контейнер в z-порядке обработки, т.е. первое будет вставлено ниже всех остальных.
1 голос
/ 21 июня 2011

@ Мохамед

Если вам нужен пример кода, возможно, это поможет вам немного http://www.bolducpress.com/tutorials/how-to-make-custom-avatars-with-php/2/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...