我想在 PHP 中创建一张由不同图片组成的 GD 图片。例如,我有 6 张图片(或更多),我想创建一张包含这些不同图片的图片。
困难在于我的最终图片必须具有固定的宽度和高度 (304x179),因此如果不同的图片太大,则必须对其进行裁剪。这是来自 IconFinder 的示例:
这张图是由6张图片组成的,但是第3只鸟(绿色)被切掉了,下面的4、5、6也被切掉了。这就是我想要的,你能帮我用 PHP 编写这段代码吗?
谢谢
最佳答案
创建您的主要图像并将其视为您的“ Canvas ”。
从那里,使用 imagecopy()将较小的图像复制到 Canvas 图像中。
例如看这个:
<?php
header('Content-Type: image/jpg');
$canvas = imagecreatetruecolor(304, 179);
$icon1 = imagecreatefromjpeg('icon.jpg');
$icon2 = imagecreatefromjpeg('icon2.jpg');
// ... add more source images as needed
imagecopy($canvas, $icon1, 275, 102, 0, 0, 100, 100);
imagecopy($canvas, $icon2, 0, 120, 0, 0, 100, 100);
// ... copy additional source images to the canvas as needed
imagejpeg($canvas);
?>
在我的示例中,icon.jpg
是一张 100x100 的图像,我将其放置在 Canvas 中,使其左上角位于 Canvas 中的 275、102 处,它切断了右侧.
编辑
我调整了代码以更类似于您正在做的事情。
关于php - 用GD创建一张包含其他图片的图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2933170/