Подтвердить что ты не робот

Как объединить прозрачный PNG с изображением с помощью PHP?

Ситуация такова: у меня маленький 50x50 рис. У меня также есть небольшая прозрачная фотография размером 50x50, которая содержит рамку для 50x50 рис., Поэтому я в основном хочу поместить прозрачный png поверх изображения и объединить те два, которые приведут к окончательному третьему изображению, которое выглядит примерно так: a href= "http://img245.imageshack.us/i/50x50n.png" rel= "noreferrer" > http://img245.imageshack.us/i/50x50n.png

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

Спасибо.

4b9b3361

Ответ 1

Вы можете объединить два изображения вместе с помощью библиотеки PHP GD2.

Пример:

<?php
 # If you don't know the type of image you are using as your originals.
 $image = imagecreatefromstring(file_get_contents($your_original_image));
 $frame = imagecreatefromstring(file_get_contents($your_frame_image));

 # If you know your originals are of type PNG.
 $image = imagecreatefrompng($your_original_image);
 $frame = imagecreatefrompng($your_frame_image);

 imagecopymerge($image, $frame, 0, 0, 0, 0, 50, 50, 100);

 # Save the image to a file
 imagepng($image, '/path/to/save/image.png');

 # Output straight to the browser.
 imagepng($image);
?>

Ответ 2

Добавить imagealphablending($frame,true); до imagecopymerge(), если вы хотите сохранить прозрачность рамки PNG над изображением.

Ответ 3

Вы можете сделать это, используя ImageMagick:: Composite. Первая записка, внесенная пользователем, должна быть достаточной для понимания концепции.