GD 透明图片上色 加文字 拼接图片
透明图片上色
$$source_image = 'xxxx.jpg';
//1.创建图片
$target_image = imagecreatetruecolor("水印宽度", "水印高度");
//2.上色
$color=imagecolorallocate($target_image,229,231,230);
//3.设置透明
imagecolortransparent($target_image,$color);
//4.填充
imagefill($target_image,0,0,$color);
//创建一个彩色的底图
imagecopyresampled($target_image, $source_image, 0, 0, 0, 0, "水印宽度", "水印高度", "原图宽度", "原图高度");
合并图像
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);
?>