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);
    ?>
    
  • 相关阅读:
    [转]Massive Model Rendering Techniques
    OpenCASCADE Texture Mapping
    RvmTranslator6.1
    Virtual Reality: Immersive Yourself In Your 3D Mockup
    OpenCascade Sweep Algorithm
    OpenCASCADE Trihedron Law
    OpenCascade Law Function
    javascript函数式编程和链式优化
    尾调用和尾递归
    箭头函数
  • 原文地址:https://www.cnblogs.com/lurenjiashuo/p/php-watermark-demo.html
Copyright © 2011-2022 走看看