Как наложить изображения на изображения php

Рейтинг: 0Ответов: 3Опубликовано: 10.04.2015

В общем сам пример работы вот здесь http://goo.gl/FVu7hh В данном случаи работает клиентская часть только. Я хочу сделать что бы при нажатии В корзину сохраняло результат на сервер картинкой, так как это сделал пользователь. То есть результат должен получится вот такого вида.

используется две картинки: 1 картинка (png) модель телефона, 2 - загружена пользователем и отцентрована согласно его предпочтению. Но не пойму как можно такое реализовать и можно ли вообще ? Может кто подскажет алгоритм реализации.

UPD

<?php

function imagecopymerge_alpha($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $pct){
    $cut = imagecreatetruecolor($src_w, $src_h);
    imagecopy($cut, $dst_im, 0, 0, $dst_x, $dst_y, $src_w, $src_h);
    imagecopy($cut, $src_im, 0, 0, $src_x, $src_y, $src_w, $src_h);
    imagecopymerge($dst_im, $cut, $dst_x, $dst_y, 0, 0, $src_w, $src_h, $pct);
} 

$back_img     = imagecreatefromjpeg('uploads/61203.jpg');
$product_mask = imagecreatefrompng('uploads/Iphone4-4s_1.png');

imagecopymerge_alpha($back_img, $product_mask, 463, 347, 0, 0, 450, 450, 100);

header('Content-Type: image/png');
imagejpeg($back_img);

?>

Ответы

▲ 1

Ознакомьтесь с функционалом библиотеки GD

Заметьте, что Вам нужно будет реализовывать функцию клиентской части — определение координат при центровке изображения с последующей отправкой скрипту. А далее, по примерам.

Библиотека GD хорошо нагружает сервер, имейте это ввиду при разработке.

▲ 1

Могу помочь навести, посмотри тут. Если вкратце: создаешь ресурсы обеих картинок (маски телефона и фото юзера) с помощью imagecreatefrompng, смотришь комменты к ссылке выше, там предлагается решение для поддержки альфа-канала, берешь функцию затем накладываешь с помощью неё примерно так imagecopymerge_alpha($background_image, $product_mask, 0, 0, 0, 0, 500, 500, 100);, задав, конечно же, свои размеры и координаты (см. функции для работы с GD и ссылку выше).

▲ 1

Насколько я понял, речь идет о сервисе для печати на чехлах. В этом случае для типографии нужна будет только сама картинка, без обертки в виде задней части телефона. А если "как будет выглядеть" нужно показать для пользователя сервиса, то лучше использовать средства css, наложив сверху изображения png-маску.