图片合成
使用GD库合成图片
- 安装GD库:确保你的PHP环境中安装了GD库。
- 加载图片:使用
imagecreatefromjpeg、imagecreatefrompng或imagecreatefromgif等函数加载图片。 - 创建目标图片:使用
imagecreatetruecolor创建一个与目标图片相同大小的画布。 - 合并图片:使用
imagecopy函数将源图片复制到目标图片上。 - 输出或保存图片:使用
imagejpeg、imagepng或imagegif函数输出或保存图片。
<?php
// 加载图片
$sourceImage = imagecreatefromjpeg('source.jpg');
$destinationImage = imagecreatetruecolor(100, 100);
// 合并图片
imagecopy($destinationImage, $sourceImage, 0, 0, 0, 0, 100, 100);
// 输出图片
header('Content-Type: image/jpeg');
imagejpeg($destinationImage);
?>
使用Imagick扩展合成图片
Imagick是一个功能强大的图像处理库,可以处理多种图像格式。
- 安装Imagick扩展:确保你的PHP环境中安装了Imagick扩展。
- 加载图片:使用
new Imagick函数加载图片。 - 创建目标图片:使用
new Imagick函数创建一个新图片。 - 合并图片:使用
compositeImage方法合并图片。 - 输出或保存图片:使用
writeImage方法输出或保存图片。
<?php
// 加载图片
$sourceImage = new Imagick('source.jpg');
$destinationImage = new Imagick();
// 创建目标图片
$destinationImage->newImage(100, 100, 'white');
// 合并图片
$destinationImage->compositeImage($sourceImage, Imagick::COMPOSITE_OVER, 0, 0);
// 输出图片
header('Content-Type: image/jpeg');
echo $destinationImage->writeImage(null);
?>
文字添加
- 安装GD库:确保你的PHP环境中安装了GD库。
- 设置字体和颜色:使用
imagecolorallocate设置字体颜色。 - 加载图片:使用
imagecreatefromjpeg、imagecreatefrompng或imagecreatefromgif等函数加载图片。 - 绘制文字:使用
imagettftext或imagestring函数在图片上绘制文字。 - 输出或保存图片:使用
imagejpeg、imagepng或imagegif函数输出或保存图片。
<?php
// 设置字体和颜色
$fontColor = imagecolorallocate($image, 255, 255, 255); // 白色
$fontFile = 'arial.ttf'; // 字体文件路径
// 加载图片
$image = imagecreatefromjpeg('source.jpg');
// 绘制文字
imagettftext($image, 20, 0, 10, 30, $fontColor, $fontFile, 'Hello, World!');
// 输出图片
header('Content-Type: image/jpeg');
imagejpeg($image);
?>
创意效果
- 添加水印:在图片的角落添加透明的文字或图形作为水印。
- 制作海报:将多张图片和文字组合成一张海报。
- 动态效果:使用JavaScript和PHP生成动态的图片效果。