php gd图片写入文字,php用GD库给图片添加水印

php用GD库给图片添加文字水印,整个代码比较简单,DEMO如下:

/*打开图片*/

//1、配置图片路径

$src = "aeroplane.jpg";

//2、获取图片信息

$info = getimagesize($src);

//3、获取图片类型

$type = image_type_to_extension($info[2], false);

//4、在内存中创建一个和我们图像类型一样的图像

$func = "imagecreatefrom{$type}";

//5、把图片复制到我们的内存中

$image = $func($src);

/* 操作图片 */

//1、设置字体路径

$font = "STXINGKA.ttf";

//2、填写水印内容

$content = "你好 mooc";

//3、设置字体颜色和透明度

$color = imagecolorallocatealpha($image, 255, 255, 255, 50);

//4、写入文字

imagettftext($image, 60, 0, 60, 120, $color, $font, $content);

/* 输出图片 */

//1、浏览器输出

header("Content-type:" . $info['mime']);

$outputfunc = "image{$type}";

$outputfunc($image);

//2、保存图片

$outputfunc($image, "newimage." . $type);

/* 销毁图片 */

imagedestroy($image);

?>

图片水印也类似:

/*打开图片*/

//1、配置图片路径

$src = "aeroplane.jpg";

//2、获取图片信息

$info = getimagesize($src);

//3、获取图片类型

$type = image_type_to_extension($info[2], false);

//4、在内存中创建图像

$createImageFunc = "imagecreatefrom{$type}";

//5、把图片复制内存中

$image = $createImageFunc($src);

/*操作图片*/

//1、设置水印图片路径

$imageMark = "logo.png";

//2、获取水印图片基本信息

$markInfo = getimagesize($imageMark);

//3、获取水印图片类型

$markType = image_type_to_extension($markInfo[2], false);

//4、在内存创建图像

$markCreateImageFunc = "imagecreatefrom{$markType}";

//5、把水印图片复制到内存中

$water = $markCreateImageFunc($imageMark);

//特别处理,设置透明

$color=imagecolorallocate($water,255,255,255);

imagefill($water,0,0,$color);

imagecolortransparent($water,$color);

//6、合并图片

imagecopymerge($image, $water, 20, 30, 0, 0, $markInfo[0], $markInfo[1], 30);

//7、销毁水印图片

imagedestroy($water);

/* 输出图片 */

//1、浏览器输出

header("Content-type:" . $info['mime']);

$outputfunc = "image{$type}";

$outputfunc($image);

//2、保存图片

$outputfunc($image, "image_mark." . $type);

/* 销毁图片 */

imagedestroy($image);

?>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值