Вы можете опубликовать URL-адреса и координаты изображений в сценарии PHP, а затем (на стороне сервера) собрать различные изображения в одно с помощью функций обработки изображений PHP .
РЕДАКТИРОВАТЬ
Я дам краткое руководство о том, как вы можете выполнить свою задачу.
У вас будет форма с 3 массивами скрытых <input>
s: URL-адреса изображений, координаты х и координаты у размещенных изображений.Они будут заполняться через jquery, когда пользователь перетаскивает изображений в контейнер.
Сценарий сборки будет работать аналогично:
- Создать (большой) пустое изображение контейнера (с помощью imagecreatetruecolor () ), назовем его
$imcont
Считывание последовательно отправленных URL-адресов (например, $_POST['url'][$i]
), открытие соответствующего изображения исоздайте для каждого изображения, например, imagecreatefromstring ( file_get_contents ($ _ POST ['url'] [$ i]));
, если вам нужноРазмеры маленького изображения, вы можете использовать getimagesize () , например:
list($iwidth,$iheight) = getimagesize($_POST['url'][$i]);
- imagecopy () созданное изображениев пт.2 в
$imcont
, в соответствующих координатах POSTed (например, $_POST['xcoords'][$i],$_POST['ycoords'][$i]
) - Повторите pt.2 и 3 для каждого размещенного изображения.
- Сохраните сгенерированное изображение
$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-порядке обработки, т.е. первое будет вставлено ниже всех остальных.