微信二维码海报推广示例

这俩天根据客户 需求  微信商城 能生成自己的二维码 并且 需先关注公众号,扫码的用户显示出自己的上级

研究两天,发现微信二维码接口能实现这个功能 !
思路:1.生成微信永久二位码 具体看微信公众文档
    http://mp.weixin.qq.com/wiki/18/167e7d94df85d8389df6c94a7a8f78ba.html
      2.获取生成的二维码 创建缩略图  


    3.将二维码缩略图 放到海报上面(微信小头像 也是这个思路)


    4.将生成好图片 上传到微信素材 具体见微信文档


      http://mp.weixin.qq.com/wiki/15/2d353966323806a202cd2deaafe8e557.html


    5将返回的media_id 通过Xml发送给用户
这样一个生成海报的的示例完成了 下面为部分代码


/* 
    @$poster_path  海报路径
    @$openid       当前用户openid
    @$qrcode_path  生成的目录
   */
  public function  Create_img($poster_path,$qrcode_path="./qrcode_temp/",$openid){
    if($openid){
        $this->Check_dir($poster_path);
        $qrcode=@file_get_contents($qrcode_path.$openid.".jpg");
        if(!$qrcode){
            $url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=".$this->getAccessToken();
            $data = [
                'action_name' => 'QR_LIMIT_STR_SCENE',
                'action_info' => [
                    'scene' => ['scene_str' => 'invite_'.$openid],
                ],
            ];
            //通过curl post请求
            $result = $this->curlPost($url,json_encode($data));
            $url = 'https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket='.urlencode($result->ticket);
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($ch, CURLOPT_URL, $url);
            ob_start();
            curl_exec($ch);
            $qr_content = ob_get_contents();
            header('Content-type: image/jpg');
            ob_end_clean();
           //缩放二维码大小为需要的大小,并将二维码加入到海报中
            $thumb = imagecreatetruecolor(200, 200);
            
            //获取源文件资源句柄。接收参数为图片流,返回句柄
            $source = imagecreatefromstring($qr_content);
            //将源文件剪切全部域并缩小放到目标图片上,前两个为资源句柄
            imagecopyresampled($thumb, $source, 0, 0, 0, 0, 200, 200, 430, 430);
            //创建图片的实例,接收参数为图片
            $dst_qr = @imagecreatefromstring(file_get_contents($poster_path));
            //加水印
            imagecopy($dst_qr,$thumb, 320, 50, 0, 0, 200, 200);
            //销毁
            imagedestroy($thumb);
                
            ob_start();//启用输出缓存,暂时将要输出的内容缓存起来
            imagejpeg($dst_qr,$qrcode_path.$openid.".jpg",90);//输出
            $poster = ob_get_contents();//获取刚才获取的缓存
            ob_end_clean();//清空缓存
            imagedestroy($dst_qr);
            $post_data['media'] = '@'.$qrcode_path.$openid.".jpg";
             $result=$this->uploadMedia($this->getAccessToken(),"image",$post_data);
            if($result) {
               $media_id=$result->media_id;
            }
        }else{
            $post_data['media'] = '@'.$qrcode_path.$openid.".jpg";
            $result=$this->uploadMedia($this->getAccessToken(),"image",$post_data);
            if($result) {
               $media_id=$result->media_id;
            }
        }
        return  $media_id;
    }
  }
//上传到微信临时素材方法
  public function uploadMedia($accessToken,$type='image',$mediaArr){
   $url="http://api.weixin.qq.com/cgi-bin/media/upload?access_token=".$accessToken."&type=".$type;
   $doPost=$this->curlPost($url,$mediaArr);
   return $doPost;
  }
//注意php5.5 curl上传需 new \CURLFile类



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
OpenCvSharp微信二维码引擎Demo是一个基于OpenCvSharp库开发的针对微信二维码识别的示例程序。微信二维码引擎是指能够识别微信扫一扫功能中的二维码的引擎。下面我将对这个Demo进行简要介绍。 首先,这个Demo使用了OpenCvSharp库,该库是OpenCV的C#封装,能够方便地在C#中使用OpenCV的功能。由于微信二维码引擎是基于图像识别的,OpenCV提供了强大的图像处理和计算机视觉功能,因此选择OpenCvSharp作为开发工具十分合适。 这个Demo主要实现了微信二维码的识别功能。在使用之前,首先需要安装OpenCvSharp库,并完成相关的配置。然后,我们可以通过该Demo将微信二维码图片加载进来,使用OpenCvSharp库提供的图像处理方法进行处理和分析。 在识别过程中,Demo会利用OpenCvSharp库中的二维码识别算法来检测和解码图像中的二维码。通过对二维码的解码,我们可以获取到其中存储的信息,比如链接、文本等。 最后,Demo会将识别出的二维码信息以文本的形式输出,方便用户查看和使用。此外,我们还可以根据需要进行二维码的进一步处理,比如裁剪、旋转等。 总之,OpenCvSharp微信二维码引擎Demo是一个基于OpenCvSharp库开发的示例程序,能够实现微信二维码的识别功能。通过使用这个Demo,我们可以了解和学习如何使用OpenCvSharp库进行微信二维码的识别,从而为后续的二维码应用开发提供了基础。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值