在PHP中将PNG放在JPG上[重复]
image
image-processing
php
5
0

我想在PHP中执行以下操作:

我有两个图像,一个jpg和一个png。我想将jpg的大小调整为与png相同的大小,然后将png放在顶部。 PNG具有透明度,因此我想保留该透明度,以便在下面显示jpg。

如果有人可以帮助,那就太好了!

谢谢

参考资料:
Stack Overflow
收藏
评论
共 3 个回答
高赞 时间 活跃

这是我使用的工作代码

$dest = imagecreatefrompng('mapCanvas.png');
$src = imagecreatefromjpeg('si.jpg');
imagealphablending($dest, false);
imagesavealpha($dest, true);
// Copy and merge
imagecopymerge($dest, $src, 17, 13, 0, 0, 60, 100, 100);

// Output and free from memory
header('Content-Type: image/png');
imagepng($dest);

imagedestroy($dest);
imagedestroy($src);
收藏
评论

这是指向示例的链接,该示例会将透明水印叠加在图像上。可能是您的用例,可能是相关的。

http://www.php.net/manual/zh/image.examples.merged-watermark.php

还有一种方法可以加载JPG图像,调整图像大小,打开alpha跟踪以及将图像导出为GD。

雅各布

收藏
评论
<?
$png = imagecreatefrompng('./mark.png');
$jpeg = imagecreatefromjpeg('./image.jpg');

list($width, $height) = getimagesize('./image.jpg');
list($newwidth, $newheight) = getimagesize('./mark.png');
$out = imagecreatetruecolor($newwidth, $newheight);
imagecopyresampled($out, $jpeg, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
imagecopyresampled($out, $png, 0, 0, 0, 0, $newwidth, $newheight, $newwidth, $newheight);
imagejpeg($out, 'out.jpg', 100);
?>
收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号