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);
    ?>
    
  • 相关阅读:
    移动端链接、点击事件、输入框去除背景高亮
    Quartz.Net与MVC结合定时任务
    Win10上使用SVN遇到的一些问题
    Win7上的ASP.NET MVC3项目在Win10上运行的一个坑
    《SQL必知必会》学习笔记(二)
    《SQL必知必会》学习笔记(一)
    数据库知识总结(表结构操作)
    搭建三层架构(ASP.NET MVC+EF)
    python线程中的全局变量与局部变量
    ADO.NET Entity Framework学习笔录(一)
  • 原文地址:https://www.cnblogs.com/lurenjiashuo/p/php-watermark-demo.html
Copyright © 2011-2022 走看看