RailsでQRコード

以下のサイトを参考にRailsでQRコード作ってみた。

MacにGDとRubyGDをインストール

$ sudo port install gd2
$ sudo port install rb-gd

QRコードクラスライブラリ for Ruby をDLしてきて、RAILS_ROOT + \’/lib\’ 以下に設置。 このまま使ってみると、qrcode.rb の Regexp.compileでエラーが出るので、 該当の箇所を書き換える。

RailsでQRコードを生成 を参考にして、Regexp.comple の第3引数でデフォルトエンコードに戻すようです。

# Regexp.compile(n3_search))
# ↓みたいに引数を追加。合計4箇所あるはず。
Regexp.compile(n3_search, false, 'n'))

ReadMeに QrcodeのコンストラクタでQrcode用のデータを @path を設定しているので、これを変更しろとのことで、 @path = RAILS_ROOT + \'/lib/qrcode_data\' と変更する。これは高速化のために必要と書いてある。 あとは、読み込みたいところで以下のようにして使う。RubyでQRコードを作ろう を参考に以下のような形で。

ruby script/console とか立ち上げると

>> require 'qrcode_img'
>> url = http://d.hatena.ne.jp/omochist/
>> qr = Qrcode.new
>> qr_data = qr.make_qrcode(url)
>> qr_image = Qrcode_image.new
>> qr_image.image_out(qr_data, 'png', 'ecpplue.png')

これで、RAILS_ROOTecpplus.png っていうQRが出来ています。 QRコードの大きさを変えたいときは、Qrcode_image に @module_size, @quiet_zone というのがあるので、これを調節する。 @module_size # 全体の大きさ @quiet_zone # 余白

>> qr_image = Qrcode_image.new
>> qr_image.set_module_size(7)  # 1-8が指定可能なようだ
>> qr_image.set_quiet_zone(1)  # 1-8が指定可能なようだ

あとはさっきと同じような感じ。

コメント

  1. ピンバック: Tweets that mention RailsでQRコード « 変なヤバいもんログ -- Topsy.com

コメントを残す

メールアドレスが公開されることはありません。