zoukankan      html  css  js  c++  java
  • PHP 给图片生成二维码水印 阿星小栈

    文字水印

    $dst_path = 'dst.jpg';
    //创建图片的实例
    $dst = imagecreatefromstring(file_get_contents($dst_path));
    
    //打上文字
    $font = './simsun.ttc';//字体
    $black = imagecolorallocate($dst, 0x00, 0x00, 0x00);//字体颜色
    imagefttext($dst, 13, 0, 20, 20, $black, $font, '快乐编程');
    
    //输出图片
    list($dst_w, $dst_h, $dst_type) = getimagesize($dst_path);
    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);

    二维码水印

    本例底图bimage.png, 可根据自己情况修改

    完整代码如下:

    
            $bImage = 'bimage.png';
            if($bImage !=''){
                    $qrCode = md5(rand(1000,9999).microtime());
                    $qrCodeContent = 'http://xxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
                    QrCode::format('png')->generate($qrCodeContent, $qrCode.'.png');//生成二维码
                    if($dst_path != null && $src_path != null && $qrCode != null){//将二维码放到底图上
                      //创建图片的实例
                      $dst = imagecreatefromstring(file_get_contents($dst_path));
                      $src = imagecreatefromstring(file_get_contents($src_path));
    
                      list($dst_w, $dst_h) = getimagesize($dst_path);
    
                     //获取水印图片的宽高
                     list($src_w, $src_h) = getimagesize($src_path);
                     $dis_h =$dst_h-$src_h;
                     imagecopymerge($dst, $src, 10, $dis_h-10, 0, 0, $src_w, $src_h, 100);//将二维码放到底图左下角 左边下边各距10像素
    
                     //输出图片
                     list($dst_w, $dst_h, $dst_type) = getimagesize($dst_path);
                     imagejpeg($dst,"mergeImage.jpg");//保存图片
                     imagedestroy($dst);
                     imagedestroy($src);
                }
          } 
  • 相关阅读:
    [NOI Online 2021 提高组] 愤怒的小 N
    CF1474F 1 2 3 4 ...
    CF1466H Finding satisfactory solutions
    CF1336F Journey
    [PKUSC2021]代金券
    如何科学地设计对拍随机种子
    CF1168E Xor Permutations
    「JOISC 2019 Day2」两种运输
    springboot json参数
    springboot整合webserver应用
  • 原文地址:https://www.cnblogs.com/dereckbu/p/8135694.html
Copyright © 2011-2022 走看看