用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中,为什么?
- 正如我所说的封面属于文件的内容 ,而乙烯logging和阴影只是页面样式的一部分。
- 这种分离使用起来更为方便。 用户可以轻松地复制该图像。 网页蜘蛛的索引更容易。
- 最后,维护起来要容易得多。
所以使用一个非常简单的代码:
<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()方法将做你想要的。