2011-07-01 4 views
1

Я ищу способ наложения изображения на существующее изображение.Наложение изображений с помощью PHP

например:

img1 + img2

Я нашел отличный пример здесь: PNG overlay using one single Image element. , но у меня есть две проблемы с этим.

Первый Я не хочу, чтобы размеры были равны друг другу. например (215 * 215 на 215 * 215). Это связано с тем, что мои пользователи будут иметь возможность выбирать, где они хотят разместить свой имидж. (Верхний, левый, нижний, верхний правый), так что 8 направлений.

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

У меня есть небольшое знание Javascript и PHP, так что было бы здорово, если бы вы, ребята (и девочки), могли мне помочь.

С уважением,

+1

Какова актуальность Javascript и PHP? Вы решили, что вам нужно использовать эти технологии? Или? И то и другое? Это требование, или вы просто предположили, что решение будет связано с одним или обоими из них? –

+0

Также вы не указали никакого контекста. Это на сайте? Вам нужно сделать это динамически для произвольных изображений или только один раз для одного изображения? Вы говорите «их образ», как будто «ваши пользователи» загружают эти изображения, но не указывают на то, что ваша система должна делать. –

+0

Возможный дубликат [Позиционирование и наложение изображения на другое изображение] (http://stackoverflow.com/questions/5130374/positioning-and-overlaying-image-on-another-image) – mplungjan

ответ

13

Вы можете сделать это с помощью GD библиотеки. Существует функция «объединить» изображения с именем imagecopymerge.

Вот очень простой пример, как объединить изображения:

<?php 
header('Content-Type: image/jpeg'); 

$bg = imagecreatefromjpeg('background.jpg'); 
$img = imagecreatefromjpeg('image.jpg'); 

imagecopymerge($bg, $img, 0, 0, 0, 0, imagesx($bg), imagesy($bg), 75); 

imagejpeg($bg, null, 100); 
?> 
+0

Хорошо, отлично. Итак, это занимает мое существующее изображение, объединить в него новое изображение (например, внизу слева) и сделать их одним изображением? Ницца! Кроме того, это должно быть jpeg, есть ли также возможность для PNG/GIF – Verhelst

+0

@XverhelstX Вы можете создавать PNG или GIF-изображение, изменяя тип содержимого заголовка и используя функцию 'image *', где '*' является расширением. Ссылки: Создание [PNG] (http://www.php.net/manual/en/function.imagepng.php) | [GIF] (http://www.php.net/manual/en/function.imagegif.php) – Robik

+0

Owkeej, большое спасибо. Вы были очень полезны! – Verhelst

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