图片合成

使用GD库合成图片

  1. 安装GD库:确保你的PHP环境中安装了GD库。
  2. 加载图片:使用imagecreatefromjpegimagecreatefrompngimagecreatefromgif等函数加载图片。
  3. 创建目标图片:使用imagecreatetruecolor创建一个与目标图片相同大小的画布。
  4. 合并图片:使用imagecopy函数将源图片复制到目标图片上。
  5. 输出或保存图片:使用imagejpegimagepngimagegif函数输出或保存图片。
<?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是一个功能强大的图像处理库,可以处理多种图像格式。

  1. 安装Imagick扩展:确保你的PHP环境中安装了Imagick扩展。
  2. 加载图片:使用new Imagick函数加载图片。
  3. 创建目标图片:使用new Imagick函数创建一个新图片。
  4. 合并图片:使用compositeImage方法合并图片。
  5. 输出或保存图片:使用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);
?>

文字添加

  1. 安装GD库:确保你的PHP环境中安装了GD库。
  2. 设置字体和颜色:使用imagecolorallocate设置字体颜色。
  3. 加载图片:使用imagecreatefromjpegimagecreatefrompngimagecreatefromgif等函数加载图片。
  4. 绘制文字:使用imagettftextimagestring函数在图片上绘制文字。
  5. 输出或保存图片:使用imagejpegimagepngimagegif函数输出或保存图片。
<?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生成动态的图片效果。

总结