为了账号安全,请及时绑定邮箱和手机立即绑定

php用GD库给图片添加水印

标签:
PHP

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

<?php
    /*打开图片*/
    //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);
?>

图片水印也类似:

<?php
    /*打开图片*/
    //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);
?>
点击查看更多内容
11人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
全栈工程师
手记
粉丝
24
获赞与收藏
2402

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消