• php 图片添加水印和二维码


            $host = $_SERVER['HTTP_HOST'];
            $save_code_file = './qrcodes/qrcode.png';
            QrCode::format('png')->size(200)->backgroundColor(223,213,211)->generate($host,public_path($save_code_file));
            $name = "张三";
            $second = '李四';
            $date_y = date('Y');
            $date_m = intval(date('m'));
            $date_d = intval(date('d'));
            $font = './font/shouzhangti.ttf';//水印字体
            $im = imagecreatefromjpeg("./images/hejiu.jpg");//载入图片
            $black = imagecolorallocate($im, 0, 0, 0);//设置颜色
            $save_file = './images/test1.jpg';
            imagettftext($im, 36, 0, 280, 530, $black, $font, $name);//认错人
            imagettftext($im, 36, 0, 530, 530, $black, $font, $date_y);//
            imagettftext($im, 36, 0, 690, 530, $black, $font, $date_m);//
            imagettftext($im, 36, 0, 820, 530, $black, $font, $date_d);//
            imagettftext($im, 36, 0, 470, 660, $black, $font, $second);//被认错者
            imagettftext($im, 36, 0, 760, 1080, $black, $font, $name);//认错人签名
            imagettftext($im, 36, 0, 630, 1148, $black, $font, $date_y);//认错人签名年
            imagettftext($im, 36, 0, 780, 1148, $black, $font, $date_m);//认错人签名月
            imagettftext($im, 36, 0, 900, 1148, $black, $font, $date_d);//认错人签名日
            imagepng($im,$save_file);//输出图片,如果要保存加个保存路径和文件名,如imagepng($im,'test1.jpg');
            //创建图片的实例
            $dst = imagecreatefromstring(file_get_contents($save_file));
            $src = imagecreatefromstring(file_get_contents($save_code_file));
            //获取水印图片的宽高
            list($src_w, $src_h) = getimagesize($save_code_file);
            //将水印图片复制到目标图片上,最后个参数50是设置透明度,这里实现半透明效果
            imagecopymerge($dst, $src, 150, 1000, 0, 0, $src_w, $src_h, 80);
    
            //如果水印图片本身带透明色,则使用imagecopy方法
            // imagecopy($dst, $src, 10, 10, 0, 0, $src_w, $src_h);
    
            //输出图片
            list($dst_w, $dst_h, $dst_type) = getimagesize($save_file);
            switch ($dst_type) {
                case 1://GIF
                    header('Content-Type: image/gif');
                    imagegif($dst);
                    break;
                case 2://JPG
                    header('Content-Type: image/jpeg');
                    imagejpeg($dst);
                    break;
                case 3://PNG
                    header('Content-Type: image/png');
                    imagepng($dst);
                    break;
                default:
                    break;
            }
            imagedestroy($dst);
            imagedestroy($src);
            imagedestroy($im);//清空缓存
  • 相关阅读:
    grpc xservice 使用
    modsecurity3.0 nginx 安装
    scrapy docker 基本部署使用
    fabio 安装试用&&实际使用的几个问题
    yugabyte cloud native db 基本试用
    coredns 编译模式添加插件
    gradle 项目构建以及发布maven 私服&& docker 私服构建发布
    groovy gradle 构建配置
    groovy && java 混编 gradle 配置
    gradle 构建包含源码配置
  • 原文地址:https://www.cnblogs.com/jackspider/p/8417262.html
Copyright © 2020-2023  润新知