• 使用RUBY生成二维码


    二维码现在貌似已经成为一个项目必不可少的总分了,最近在做的微信项目,更是大大的依赖于二维码,微信公众平台提供的临时二维码,局限太多,只能带一个ID,做不了太多有意义的整个,因为我们很多的二维码是需要自己生成的,并且由于是动态生成,没有保存的需求,一般来说,先生成二维码,再保存到硬盘,再把路径返回,以后再删除,感觉太浪费时间和太折腾了

    还好项目面向的都是现代浏览器,都支持image/data这样直接加载base64数据的,我们可以把图片直接生成base64字符串,这样就不用保存,直接显示给用户了

    生成二维码用到的rqrcode和rqrcode_png

    rqrcode生成二维码数据,不过没有生成图片的功能,在它的文档中,是用表格来模拟二维码的一个个像素的

    rqrcode_png是在rqrcode的基础上,增加了to_img功能,即把rqrcode生成的二维码数据转成png图片,方便用于保存

    我是先安装的rqrcode再安装rqrcode_png的,但是在Gemfile中只引用了rqrcode_png,不知道是否两者都一定要安装。同时看到rqrcode_png貌似引用 RMagick,我是早就装好的,也没用确认是否是必须。

    PS:二维码中的中文也正常显示

    代码如下:

    #在action中的代码
    def qrcode
        qr = RQRCode::QRCode.new( '这是你要生成的二维码数据', :size => 4, :level => :h )
        @qrcode_str = Base64.encode64( qr.to_img.resize(400,400).to_s )
    
        #如果要保存的话,如下
        qr.to_img.resize(400, 400).save("my_qrcode.png")
    end
    
    
    #在view中显示,很好用,很暴力
    <img src="data:image/png;base64,<%= @qrcode_str -%>"/>
    

      

  • 相关阅读:
    ACS 20070108 更新
    道德沦丧 还是意识淡薄
    Alienwave.CommunityServer 20070103 更新
    无题
    《白马啸西风》之李文秀
    突然感觉自己像拉皮条的
    数据库日志文件(x.ldf)如何打开?
    调试.NET出错
    老大离开南京了
    最近太任性了
  • 原文地址:https://www.cnblogs.com/varlxj/p/qrcode_to_base64.html
Copyright © 2020-2023  润新知