注,这里只说编程思路,没有源代码。

先看效果:

图1 灯笼效果的二维码

从上图可以看到,其特征是:(1)整个外形为灯笼;(2)内部填充为二维码图像;(3)中间核心区域为我们真正所要的二维码;(4)二维码中还嵌入一个LOGO。

如何实现呢?

1、先来看看实现这些所需要的“原料”。

(1)首先必须有一个灯笼形的外框及填充用的二维码,如下图:

图2  灯笼形外框及填充用的二维码

为了读者观察和笔者描述更方便,我将两者合为一图,二维码的每个块也用红色框显示以示区别。

(2)其次,需要生成本例的核心二维码部分及加上用户LOGO,如下图:

图3  微信二维码(带LOGO)

细心的读者可能已发现,上面的二维码样式并非普通的二维码样式,而是已被圆角化的个性艺术二维码。

(3)根据目前实际情况,用户一般能提供一个普通的微信二维码样式,因此,我们在制作上面个性化二维码时,还必须经过先解码,得到微信地址,再编码生成个性化二维码。比如下图:

图4  用户提供的普通微信二维码样式

经过解码,得到微信的确切地址,上图经解码后得到的是:http://weixin.qq.com/r/OHV_cW7EqlDVh38SnyAc

(4)有了它,我们就可以通过程序生成圆角化样式的二维码了(具体制作过程,我这里是使用我自己写的二维码生成程序,见最后附图):

图5  核心部分:个性化的微信二维码

2、如何配齐上面的原料并完成绘制呢?

(1)图2所示的填充用的二维码用普通的二维码生成软件即可生成,我这里由于是自己写的程序,最终生成的是SVG矢量格式,其优点是可以再到其他矢量图形软件(比如Illustrator等)中进行编辑。

(2)灯笼外框一般是由用户提供或指定样式图片,有了图片,可以使用相关软件(比如Illustrator)生成矢量图形(比如AI格式图形),再转化为编程所用的GraphicsPath。

(3)将填充用的二维码图形填充到上面(2)中的GraphicsPath中,得到二维码的背景灯笼图。

(4)绘制一白色底的正方形外框,用以放置微信二维码。做这一步还有一个目的,就是增加二维码的可识别性。根据二维码标准,其白色外框区域宽度为单个二维码色块单元格的四倍。但根据实践来看,如果外围没有特别的干扰的话,保持适当白边(比如一倍于单元格区域)即可。

(5)绘制图5所示的核心部分,最终得到图1所示的效果。

结语:

上述过程涉及很多编程细节,比如:如何更好地实现背景灯笼图,特别是边缘部分,这里就涉及到区域及点测试。如下图就没有图1的效果那么自然:

图6  生硬的边缘

上图可以看到,灯笼边缘部分二维码的单元格色块被生硬地“切开”了。

附图:

测试用软件图:

通过编程做特别效果的个性“微信”二维码(思路)相关推荐

  1. 通过编程做特别效果的个性 微信 二维码(思路)

    注,这里只说编程思路,没有源代码. 先看效果: 图1 灯笼效果的二维码 从上图可以看到,其特征是:(1)整个外形为灯笼:(2)内部填充为二维码图像:(3)中间核心区域为我们真正所要的二维码:(4)二维 ...

  2. 一行代码制作自己的QQ/微信二维码,还可以制作动态的哟~(小白再也不用去求别人了)

    今天,我们要用Python制作一个炫酷的二维码,还可以是动得哟 废话少说,我们开始制作吧~ 文章目录 安装MyQR CMD生成图片二维码 用Python来生成(生成失败的朋友看过来) 做一个动图二维码 ...

  3. 用女朋友动态图做微信二维码,小白都会

    一.准备的东西:一台电脑,一个网站(https://cli.im/deqr/),两张图片(一张动态图,一张微信二维码) 二.打开cmd,输入命令pip install myqr 转完后,输入cd de ...

  4. 戴志康谈微信二维码运营:学会注重结果

    戴志康谈微信二维码运营:学会注重结果   腾讯生活服务电商部副总经理戴志康   在9月19日的财付通7周年沟通会上,腾讯生活服务电商部副总经理戴志康以互联网应该如何运营谈及微信二维码未来的O2O发展潜 ...

  5. 微信公众平台开发(121) 微信二维码海报

    关键字:微信公众平台 二维码 海报 作者:方倍工作室 原文: http://www.cnblogs.com/txw1958/p/weixin-poster.html 本文介绍微信公众平台下二维码海报的 ...

  6. 微信二维码1-服务号推广(将网页存储为图片存储到服务器)

    本周预告了将会推出一个「将会讲讲项目中关于微信二维码生成和传播的事儿」的系列,现在我们就来开始讲讲: 首先本篇不会将会怎么调用二维码接口,因为该接口已经在上个月就写好了,在实际项目中,不过这个是微信二 ...

  7. [android源码下载索引贴】微信+二维码那都不是事......

    微信: Android 简单仿微信朋友圈布局2014/09/02 http://www.eoeandroid.com/thread-542738-1-1.html [代码片段] 高仿摇一摇效果 201 ...

  8. 小程序获取企业微信二维码,使用联系我插件配置企业微信二维码

    通过配置获取企业微信二维码总共分为五步: 第一步:登录企业微信管理后台,查询企业微信的企业ID(corpid)和Secret(corpsecret); 第二步:获取access_token: 第三步: ...

  9. 【深度学习】【caffe】【python】【docker】微信 二维码检测,手写数字识别

    文章目录 介绍 docker环境 MNIST 数据(废弃) 微信二维码 微信二维码 python代码试试 用于造yolov5的目标检测数据 了解caffe,使用caffe,做个小例子熟悉caffe. ...

最新文章

  1. 资源 | 盘点国外NLP领域40大高校及相关知名学者
  2. Python持续更新的新特性
  3. How is SAP Gateway metadata request converted to XML format transformation
  4. dependency报红_解决IDEA中Maven依赖包导入失败报红问题(总结最有效8种解决方案)...
  5. 『 Luogu P3205 』 HNOI2010 合唱队
  6. 【kafka】Kafka 之 Group 状态变化分析及 Rebalance 过程
  7. Python学习之布尔和数字
  8. 转载:better-scroll的相关api
  9. “让天下没有难开的店”,宣言来自无人车公司AutoX
  10. sql与mysql数据对接_SQL Server 对接MySQL 数据库
  11. red hat linux没有库文件libiconv.so,libiconv库链接问题一则(备忘)
  12. XPOSED框架下载地址
  13. 【无标题】快宝电子面单接口
  14. 史上最著名的电脑病毒
  15. win10忘记账户密码完美解决方案
  16. 不要在意别人的目光,走自己的路
  17. 常用Cocoa框架概览
  18. 多重共线性:python中利用statsmodels计算VIF和相关系数消除共线性
  19. unity 四元数旋转各元素值的计算方法
  20. 数据分析实际案例之:pandas在泰坦尼特号乘客数据中的使用

热门文章

  1. 爬虫概念与编程学习之如何爬取视频网站页面(三)
  2. Python中的随机收取方法random.choice()方法
  3. socket源码分析之accept
  4. 微软正版验证补丁的解决方法
  5. 从微软正版验证看跨国公司知识产权保护
  6. 【Python实践】关于python多任务设计基础
  7. 微型计算机控制技术:模拟量输入通道 简述题 + ADC接口电路设计分析
  8. 英语的月份你掌握了多少?
  9. Java项目:旅游信息网站设计与实现(java+springboot+vue+mysql)
  10. python做多项式拟合并绘图