美文网首页
【R图秀-2】用R打造炫酷彩色二维码

【R图秀-2】用R打造炫酷彩色二维码

作者: Rapp | 来源:发表于2016-08-01 16:21 被阅读136次

    今天又突发奇想,觉得黑白色的二维码太单调,如果能画出彩色的二维码一定很炫。

    我以前也用过一些网上的小工具给一个url生成二维码。虽然不懂二维码的原理,但是我的理解就是将一个字符串编码成一个数字矩阵,然后将矩阵里面的数字对应到颜色,就制成了一个二维码图片。

    于是开始在网上搜索用R来生成二维码的包,结果发现真的有人已经用R开发了这样的工具:
    https://github.com/hrbrmstr/qrencoder

    在安装qrencoder之前,要先装好以下几个R包:Rcpp, base64enc, raster, png。由于qrencoder是基于libqrencode生成二维码, 所以还要安装 libqrencode:
    https://github.com/fukuchi/libqrencode

    安装过程很顺利,这里就不赘述了。

    下面是我的制作过程:

    1. 准备好logo图片和需要编码的url(我的简书主页):http://www.jianshu.com/users/6ca6e45e2bd8/latest_articles

    2. 先将url转换成0-1矩阵,再将矩阵中的1随机替换成1,2,3(表示其他三种颜色)

    3. 用pheatmap画没有logo的二维码

    4. 读入原始二维码和logo文件,将两个图片merge在一起

    具体代码如下:

    code.png

    随便画了几个二维码,看看效果怎样。经过手机扫描测试,全部能顺利打开我的简书主页。

    qrcode1.jpeg qrcode2.jpeg qrcode3.jpeg qrcode4.jpeg

    在选择颜色的时候要注意,尽量选择比较深的颜色,如果和白色背景的对比度不高,会影响扫描的效果。

    这只是一个app的雏形,我们可以在这个基础上用Shiny制作一个真正的Web工具供大家使用。

    今天的R图秀就结束了,感兴趣的Rapper们可以尝试着选择自己喜欢的颜色打造一个炫酷而又个性的二维码。Let's Rapp!

    相关文章

      网友评论

          本文标题:【R图秀-2】用R打造炫酷彩色二维码

          本文链接:https://www.haomeiwen.com/subject/nrnxsttx.html