前提:下载好 phpqrcode 类库

1、生成普通二维码

  1. //引入类库
  2. include('phpqrcode/phpqrcode.php');
  3. //二维码里面的链接地址
  4. $url="http://www.baidu.com";
  5. //二维码图片保存地址
  6. $save_path = "./qrcode.png";
  7. QRcode::png($url, $save_path, 'L', 4, 2);
  8. //后面两个参数控制二维码大小相关的,可自行调整

2、生成带有logo的二维码

  1. //引入类库
  2. include('phpqrcode/phpqrcode.php');
  3. //二维码里面的链接地址
  4. $url="http://www.baidu.com";
  5. //二维码图片保存地址
  6. $save_path = "./qrcode.png";
  7. QRcode::png($url, $save_path, 'L', 4, 2);
  8. //后面两个参数控制二维码大小相关的,可自行调整
  9.  
  10. //logo图片
  11. $logo = 'logo.png';
  12. if($logo){
  13. $QR = imagecreatefromstring(file_get_contents( $save_path ));
  14. $logo = imagecreatefromstring(file_get_contents($logo));
  15. $QR_width = imagesx($QR);//二维码图片宽度
  16. $QR_height = imagesy($QR);//二维码图片高度
  17. $logo_width = imagesx($logo);//logo图片宽度
  18. $logo_height = imagesy($logo);//logo图片高度
  19. $logo_qr_width = $QR_width / 5;
  20. $scale = $logo_width/$logo_qr_width;
  21. $logo_qr_height = $logo_height/$scale;
  22. $from_width = ($QR_width - $logo_qr_width) / 2;//重新组合图片并调整大小
  23. imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width,$logo_qr_height, $logo_width, $logo_height);//输出图片
  24. imagepng($QR, $save_path );
  25. }
  26. //首先生成普通二维码,然后添加上logo

3、生成带logo带背景的二维码

  1. //引入类库
  2. include('phpqrcode/phpqrcode.php');
  3. //二维码里面的链接地址
  4. $url="http://www.baidu.com";
  5. //二维码图片保存地址
  6. $save_path = "./qrcode.png";
  7. QRcode::png($url, $save_path, 'L', 4, 2);
  8. //后面两个参数控制二维码大小相关的,可自行调整
  9.  
  10. //添加logo
  11. $logo = 'logo.png';
  12. if($logo){
  13. $QR = imagecreatefromstring(file_get_contents( $save_path ));
  14. $logo = imagecreatefromstring(file_get_contents($logo));
  15. $QR_width = imagesx($QR);//二维码图片宽度
  16. $QR_height = imagesy($QR);//二维码图片高度
  17. $logo_width = imagesx($logo);//logo图片宽度
  18. $logo_height = imagesy($logo);//logo图片高度
  19. $logo_qr_width = $QR_width / 5;
  20. $scale = $logo_width/$logo_qr_width;
  21. $logo_qr_height = $logo_height/$scale;
  22. $from_width = ($QR_width - $logo_qr_width) / 2;//重新组合图片并调整大小
  23. imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width,$logo_qr_height, $logo_width, $logo_height);//输出图片
  24. imagepng($QR, $save_path );
  25. }
  26.  
  27. //添加背景图
  28. $bgImg = 'xuanchuan.jpg';
  29. $backgroupImg = imagecreatefromstring(file_get_contents($bgImg));
  30. $newQR = imagecreatefromstring(file_get_contents($save_path));
  31. //获取新的尺寸
  32. list($width, $height) = getimagesize($save_path);
  33. $new_width = 200;
  34. $new_height = 200;
  35. //重新组合图片并调整大小
  36. imagecopyresampled($backgroupImg,$newQR,260, 700, 0, 0,$new_width, $new_height, $width, $height);//输出图片
  37. imagepng($backgroupImg, $save_path);
  38. //现在生成的图片就是有logo 有背景的

phpqrcode 分别生成普通、带logo、带背景带logo二维码的更多相关文章

  1. C# 利用BarcodeLib.dll生成条形码(一维,zxing,QrCodeNet/dll二维码)

    原文:http://blog.csdn.net/kongwei521/article/details/17588825 首先效果: 一.下载BarcodeLib.dll 下载地址 :http://do ...

  2. 二维码(支持arc,苹果自带扫描,zbar扫描,二维码生成)

    下载地址:http://pan.baidu.com/s/1mgvJzyo

  3. java生成二维码(带logo)

    之前写过一篇不带logo的二维码实现方式,採用QRCode和ZXing两种方式 http://blog.csdn.net/xiaokui_wingfly/article/details/3947618 ...

  4. 带logo图片或不带logo图片的二维码生成与解析,亲测成功

    最近公司需要实现二维码功能,本人经过一顿百度,终于实现了,因有3个功能:不带logo图片.带logo图片.解析二维码,篇幅较长,请耐心读之,直接复制粘贴即可. 前提:myeclipse10:jar包: ...

  5. ZXing生成条形码、二维码、带logo二维码

    采用的是开源的ZXing,Maven配置如下,jar包下载地址,自己选择版本下载,顺便推荐下Maven Repository <!-- https://mvnrepository.com/art ...

  6. 生成二维码、条形码、带logo的二维码

    Nuget安装ZXing.Net,帮助类: using System; using System.Collections.Generic; using System.Drawing; using Sy ...

  7. php生成带自定义logo和带二维码跳转自定义地址的二维码

    index.php<?phpheader('Content-type:text/html;charset=UTF-8');// 指定允许其他域名访问header('Access-Control- ...

  8. 二维码生成库phpqrcode使用小结

    <img src="data:image/png;base64,这里是base64编码内容" /> 只需要里边的phpqrcode.php这一个文件就可以生成二维码了 ...

  9. ThinkPHP5生成二维码图片与另一张背景图片进行合成

    1.PHP方法 public function do_qrcode(){ Vendor('Qrcode.phpqrcode'); Vendor('Qrcode.Compress'); $object ...

  10. C# 生成二维码,彩色二维码,带有Logo的二维码及普通条形码

    每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦逼就是沉默.我眼中的程序员大多都不 ...

随机推荐

  1. struts2乱码问题

    简介:做了个功能,用的struts2,表单提交到后台,接收后打印出来的数据乱码.   解决步骤: 1. struts.xml中配置<constant name="struts.i18n ...

  2. php连接DB2

    在php.ini中添加对DB2的支持 //////////////////////////////////////////////////// ;;;;;;;;;;;;;;;;;;;;;; ; Dyn ...

  3. 内建类型,与用户自定义类型,返回值为const

    1对内建类型来说,按值返回的是否为const,是无关紧要的,因为编译器已经不让它成为一个坐直,因为它总是一个值,而不是一个变量(thing in c++ page192) 2当处理用户自定义的类型时, ...

  4. memmove、memcpy、strcpy、memset的实现

    memmove.memcpy.strcpy.memset 原型为: void *memmove( void* dest, const void* src, size_t count ); char*  ...

  5. IntelliJ IDEA 2017版 编译器使用学习笔记(三) (图文详尽版);IDE快捷键使用

    一.列操作 功能:操作多行列执行相同的功能,达到一次修改多行同类型数据的情况,如图:                 Json字符串,转为枚举类的字段: 首先进行,快捷键一行快速操作 1.选中命令,s ...

  6. DIV+CSS实战(三)

    一.说明 在上篇博客<DIV+CSS实战(二)>中,实现了头部以及Tab标签卡,下面开始实现内容区域,要实现的效果如下: 二.内容最外层的设计(边框) 给最外层加边框,并且设置高度随着里面 ...

  7. 控件无法安装的问题-Unable to execute file

    官方网站:http://www.ncmem.com/ 产品首页:http://www.ncmem.com/webplug/wordpaster/ 产品介绍:http://www.cnblogs.com ...

  8. SAX, JSON , DOM 数据解析

    //解析:将特定数据格式(如:xml,json)中提取出来所需的内容 //SAX: Simply API for XML, xml解析的一种方式,逐行解析,读一行内容,取一行内容,速度慢,占用内存小, ...

  9. Center Alignment

    http://acm.hust.edu.cn/vjudge/contest/view.action?cid=93359#problem/B(456321) http://codeforces.com/ ...

  10. iOS应用开发最佳实践

    <iOS应用开发最佳实践> 基本信息 作者: 王浩    出版社:电子工业出版社 ISBN:9787121207679 上架时间:2013-7-22 出版日期:2013 年8月 开本:16 ...