php用GD库给图片添加水印

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);
?>


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值