我正在用 php 创建一个应用程序,我在其中上传图像并调整其大小并将其放置在咖啡杯上。咖啡杯是 div 的背景图像。现在我想将这两个图像保存为一个图像,它看起来像一个咖啡杯的屏幕截图,上面印有图像。如何仅截取杯子和图像的屏幕截图,或者是否有另一种方法可以在 php.ini 中截取。
问问题
6594 次
2 回答
2
为此,您需要一个图像库。许多服务器上的大多数 PHP 版本都使用GD进行了预编译。这是一个有限且性能不太好的库,因此大多数人会使用Imagemagick。
在 GD 中:
$mug = imagecreatefrompng('mug.jpg');
$overlay = imagecreatefromjpeg('photo.png');
imagecopy($mug, $overlay);
在 Imagemagick 中:
$mug = new Imagick("mug.jpg");
$overlay = new Imagick("logo.png");
$composition = new Imagick();
$composition->compositeImage($mug);
$composition->compositeImage($overlay);
于 2012-06-12T11:11:19.830 回答
1
您可以使用 GD2 库来做到这一点:
<?php
$image = imagecreatefromstring(file_get_contents($image_path);
$coffe_mug= imagecreatefromstring(file_get_contents($coffe_mug_path));
// merge the two
imagecopymerge($image, $coffe_mug, 10, 10, 0, 0, 100, 47, 75);
// save, can also be imagepng, imagegif, etc, etc
imagejpeg($image, '/path/to/save/image.png');
?>
您也可以将图像输出到浏览器,更多信息请查看: http: //php.net/manual/es/function.imagecopymerge.php。
于 2012-06-12T11:12:26.613 回答