zoukankan      html  css  js  c++  java
  • 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);
    ?>
    
  • 相关阅读:
    ubuntu17.10 源
    _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed
    shell | crontab 定时任务
    python将负数转为16进制无符号数
    vooya --- a YUV player and a generic raw data player
    clion 查看代码 多次查看后如何一步一步回退到最初查看的代码位置
    Unity3d XmlException: Text node cannot appear in this state的方案
    Unity2017灯光烘焙知识点
    unity加载ab后,场景shader不起效问题(物件表现黑色)
    BMFont制作美术字体
  • 原文地址:https://www.cnblogs.com/lurenjiashuo/p/php-watermark-demo.html
Copyright © 2011-2022 走看看