以下のサイトを参考に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_ROOT に ecpplus.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が指定可能なようだ
あとはさっきと同じような感じ。




