Как сгенерировать изображение наложением трех других?

Приветствую!

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

Все изображения одинакового разрешения, одинакового соотношения сторон, имеют альфа-канал.

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

Знаю, что этим, вроде как, умеет заниматься ImageMagic.
Но обзорное гугление показало, что в альфа канал он не умеет.
Ровно как и в случае, если пытаться делать это посредством PHP (Не считая "Решения" с переводом всех белых пикселей в альфу).

Буду рад, если кто-то более прямо ткнет носом в нужном направлении.
А если еще и подскажет то, как сделать так, дабы пользователь мог бы еще и свой цвет задавать каждой из частей, тогда и вовсе - счастлив.
  • Вопрос задан
  • 5104 просмотра
Решения вопроса 1
@SilverSlice
Вот пример того, как можно это сделать на php c помощью Imagick:

$image = new Imagick();
$image->readImage('image1.png');

$image2 = new Imagick();
$image2->readImage('image2.png');

$image3 = new Imagick();
$image3->readImage('image3.png');

$image->compositeImage($image2, Imagick::COMPOSITE_OVER, 0, 0);
$image->compositeImage($image3, Imagick::COMPOSITE_OVER, 0, 0);

// сохранить изображение
$image->writeImage('result_image.png');

// или отобразить изображение
header('Content-Type: image/' . $image->getImageFormat());
echo $image;
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Такое умеет делать и стандартная gd2 library. Ватермарки накладываются таким же принципом, с той лишь разницей, что там 2 картинки, а у вас три.
Собственно, любой алгоритм наложения ватермарков - скорее всего именно тот фундамент, который вам поможет.
Ответ написан
Комментировать
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
01 мая 2024, в 02:11
5000 руб./за проект
01 мая 2024, в 00:29
2000 руб./за проект
01 мая 2024, в 00:20
15000 руб./за проект