如何使用PHP合并透明的PNG和图像?

情况是这样的:我有一个小的50×50图片。 我也有一个小的50×50透明图片,其中包含一个50×50图片的帧,所以我基本上想把透明png 放在图片的顶部 ,合并这两个会导致最后的第三张图片看起来像这样: http ://img245.imageshack.us/i/50x50n.png

注意:我不想仅仅使用HTML来做到这一点(我通过编写一个将透明PNG放在原始图像之上的JavaScript插件来实现这一点)。

谢谢。

您可以使用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); ?> 

添加imagealphablending($frame,true);imagecopymerge()之前,如果你想在图像上保持PNG帧的透明度。

你可以使用ImageMagick :: Composite来做到这一点。 第一个用户贡献的笔记应该足以把握这个概念。

Interesting Posts