PHP GD库 图片合成(在图片上添加文字)、(图片上添加二维码图片)

======================================图片上加文字==========================================
一、这种是直接显示在浏览器上,并不保存

    function aaa(){
        $user_id = 168955;
        $bigImgPath = 'http://h-cdn.zealcdn.cn/20180706140903.png';   //原图,可以是本地力或者在线图片 
        $img = imagecreatefromstring(file_get_contents($bigImgPath));
        $font = './Public/ziti/dkzt.ttc';  //一定要有对应的字体文件
        $black = imagecolorallocate($img, 0,255,0);  //字体颜色 RGB
        $fontSize = 10;   //字体大小
        $circleSize = 0;  //旋转角度
        $left = 10;       //左边距
        $top = 20;       //顶边距
        =“要加的内容”;    //要加的
        imagefttext($img, $fontSize, $circleSize, $left, $top, $black, $font, $str);
        list($bgWidth, $bgHight, $bgType) = getimagesize($bigImgPath);
        switch ($bgType) {
            case 1: //gif
                header('Content-Type:image/gif');
                ob_clean();
                imagegif($img);
                break;
            case 2: //jpg
                header('Content-Type:image/jpg');
                ob_clean();
                imagejpeg($img);
                break;
            case 3: //jpg
                header('Content-Type:image/png');
                ob_clean();
                imagepng($img);
                break;
            default:
                break;
        }
        $insert['vip_id']=168955;
        $insert['download_time']=$time;
        $challenge_img = M("challenge_img")->add($insert);
        imagedestroy($img);
    }

二、这各在后边中路径和文件名的同保存到指定 的文件夹下

function img_id($img_url,$user_id){
        $img = imagecreatefromstring(file_get_contents($img_url));
        $font = 'public/dkzt.ttc';//字体文件
        $black = imagecolorallocate($img,255, 255, 255);//字体颜色 RGB
        $fontSize = 20;   //字体大小
        $circleSize = 0; //旋转角度
        $left = 50;      //左边距
        $top = 210;       //顶边距
        imagefttext($img, $fontSize, $circleSize, $left, $top, $black, $font, '要加的文字内容');
        list($bgWidth, $bgHight, $bgType) = getimagesize($bigImgPath);
        switch ($bgType) {
            case 1: //gif
                header('Content-Type:image/gif');
                ob_clean();
                imagegif($img,'public/img/666.gif');
                break;
            case 2: //jpg
                header('Content-Type:image/jpg');
                ob_clean();
                imagejpeg($img,'public/img/666.jpg');
                break;
            case 3: //jpg
            ob_clean();
                header('Content-Type:image/png');

                imagepng($img,'public/img/666.png');
                break;
            default:
                break;
        }
  imagedestroy($img);
  }

====================================图片上加图片(加二维码)============================

  $path_1 = 'http://h-cdn.zealcdn.cn/20180711150108.png';   //广告图
            $path_2 = 'https://api.qrserver.com/v1/create-qr-code/?size=150x150&data='.$url;   //二维码图片
            $image_1 = imagecreatefrompng($path_1);  
            $image_2 = imagecreatefrompng($path_2);  
            // 创建真彩画布
            $image_3 = imageCreatetruecolor(imagesx($image_1),imagesy($image_1));
            // 为真彩画布创建白色背景
            $color = imagecolorallocate($image_3, 255, 255, 255);
            imagefill($image_3, 0, 0, $color);
            // 设置透明
            // imageColorTransparent($image_3, $color);
            // 复制图片一到真彩画布中(重新取样-获取透明图片)
            imagecopyresampled($image_3, $image_1, 0, 0, 0, 0, imagesx($image_1), imagesy($image_1), imagesx($image_1), imagesy($image_1));
            // 与图片二合成
            imagecopymerge($image_3, $image_2, 40, 370, 0, 0, imagesx($image_2), imagesy($image_2), 100);  
            // 输出合成图片
            imagepng($image_3,'public/share_img/'.$vip_id.'.png');
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值