用PHP合并两个图像

我试图将两个图像合并在一起。

例如…我将如何去放置图像之一的图像两个顶部或与基本的PHP合并? 我已经尝试了诸如水印这样的东西,但似乎没有工作。

图片一

替代文字

图片二

替代文字

…变成了这个? 最后结果:

替代文字

我从一个我做的工作。

 <?php $dest = imagecreatefrompng('vinyl.png'); $src = imagecreatefromjpeg('cover2.jpg'); imagealphablending($dest, false); imagesavealpha($dest, true); imagecopymerge($dest, $src, 10, 9, 0, 0, 181, 180, 100); //have to play with these numbers for it to work for you, etc. header('Content-Type: image/png'); imagepng($dest); imagedestroy($dest); imagedestroy($src); ?> 

问题是关于合并两个图像,但在这个特定的情况下,你不应该这样做。 你应该把内容图像 (即封面)放入<img />标签,并将样式图像放入CSS中,为什么?

  1. 正如我所说的封面属于文件的内容 ,而乙烯logging和阴影只是页面样式的一部分。
  2. 这种分离使用起来更为方便。 用户可以轻松地复制该图像。 网页蜘蛛的索引更容易。
  3. 最后,维护起来要容易得多。

所以使用一个非常简单的代码:

 <div class="cover"> <img src="/contenthttp://img.dovov.comcovers/movin-mountains.png" alt="Moving mountains by Pneuma" width="100" height="100" /> </div> .cover { padding: 10px; padding-right: 100px; background: url(/stylehttp://img.dovov.comcover-background.png) no-repeat; } 

使用GD库或ImageMagick。 我search了'PHP GD合并图像',并得到了几个关于这样做的文章。 在过去我所做的是创build一个大的空白图像,然后使用imagecopymerge()将这些图像粘贴到我原来的空白。 看看谷歌的文章,你会发现一些源代码,你可以立即开始使用。

PHP中的GD图像操作库可能是在PHP中处理图像的最佳select。 尝试其中一种图像复制function(imagecopy,imagecopymerge,…)。 它们中的每一个以不同的方式组合2个图像。 有关更多信息,请参阅imagecopy上的php文档 。

ImageArtist是由我编写的一个纯粹的gd包装器,这使您可以非常容易地进行复杂的图像操作,因为您可以使用这个function强大的库,使用很less的步骤完成问题解决scheme。

这里是一个示例代码。

 $img1 = new Image("./cover.jpg"); $img2 = new Image("./box.png"); $img2->merge($img1,9,9); $img2->save("./merged.png",IMAGETYPE_PNG); 

这就是我的结果。

在这里输入图像说明

你可以用ImageMagick扩展来做到这一点。 我猜测combineImages()方法将做你想要的。