腾讯云618限量抢购
  1. PHP+MySQL数据库教程
  2. PHP进阶教程
  3. ThinkPHP 3.0/3.1 教程

PHP 合并图像 imagecopymerge 函数(水印制作实例)

最后更新:2011-01-04 17:15阅读:31215

imagecopymerge() 函数用于拷贝并合并图像的一部分。

imagecopymerge()

imagecopymerge() 函数用于拷贝并合并图像的一部分,成功返回 TRUE ,否则返回 FALSE 。

语法:

bool imagecopymerge( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y,
 int src_w, int src_h, int pct )
参数说明:
参数 说明
dst_im 目标图像
src_im 被拷贝的源图像
dst_x 目标图像开始 x 坐标
dst_y 目标图像开始 y 坐标,x,y同为 0 则从左上角开始
src_x 拷贝图像开始 x 坐标
src_y 拷贝图像开始 y 坐标,x,y同为 0 则从左上角开始拷贝
src_w (从 src_x 开始)拷贝的宽度
src_h (从 src_y 开始)拷贝的高度
pct 图像合并程度,取值 0-100 ,当 pct=0 时,实际上什么也没做,反之完全合并。

当为 pct = 100 时对于调色板图像本函数和 imagecopy() 完全一样,参考阅读:

imagecopy():拷贝图像或图像的一部分。

该函数的一个典型应用就是将图像打上水印标识:

<?
header("Content-type: image/jpeg");

//原始图像
$dst = "images/flower_1.jpg";

//得到原始图片信息
$dst_im = imagecreatefromjpeg($dst);
$dst_info = getimagesize($dst);

//水印图像
$src = "images/logo.gif";
$src_im = imagecreatefromgif($src);
$src_info = getimagesize($src);	

//水印透明度
$alpha = 30;

//合并水印图片
imagecopymerge($dst_im,$src_im,$dst_info[0]-$src_info[0],$dst_info[1]-$src_info[1],0,0,$src_info[0],
$src_info[1],$alpha);

//输出合并后水印图片
imagejpeg($dst_im);
imagedestroy($dst_im);
imagedestroy($src_im);
?>

浏览器显示水印图片效果如下:

PHP 制作图片水印实例


本章节内容共分 10 部分:
  1. 1. PHP 获取图像信息 getimagesize 函数
  2. 2. PHP 创建图像、销毁图像 imagecreate 与 imagedestroy 函数
  3. 3. PHP 分配、取消图像颜色 imagecolorallocate 与 imagecolordeallocate 函数
  4. 4. PHP 拷贝图像 imagecopy 与 imagecopyresized 函数
  5. 5. PHP 绘制线段与圆弧 imageline、imagesetstyle 与 imagearc 函数
  6. 6. PHP 图像处理
  7. 7. PHP 载入图像 imagecreatefrom_gif_jpeg_png 系列函数
  8. 8. PHP 合并图像 imagecopymerge 函数(水印制作实例)
  9. 9. PHP 输出图像 imagegif 、imagejpeg 与 imagepng 函数
  10. 10. PHP 图像填充 imagefill、imagefilledarc 与 imagefilledrectangle() 函数
腾讯云618限量抢购