rubyでQRCodeを作成するライブラリrqrをリリース
LinuxとMacOSX用にQRCode作成ライブラリをこっそり作ってました。
協同開発者のSoejimaさんによりWindows用バイナリが完成し、APIの設計と実装もひと段落したのでちゃんと紹介します。
rubyforgeのメインページ
rubyforgeのプロジェクトページ
rqrは簡単にQRCode画像を出力した場合に有用なライブラリです。
サイテック社にてフリーソフトとして配布されているC++のコアをANSIに対応し、rubyでラッピングしました。
extを使っているため比較的高速に動作しますし、ひと通りの画像形式で出力できるという特徴を持っています。
以下の説明は、メインページとほぼ同じ内容ですが、インストールと使い方を日本語でまとめておきます。
インストールの準備
Linux
yumでlibjpeg、libpng、libtiffをインストールします。
$ sudo yum install libjpeg $ sudo yum install libpng $ sudo yum install libtiff
OSX
OSXでは、FinkまたはMacportsをつかってlibjpeg、libpng、libtiffをインストールします。
※実は私のMacbook環境ではMacPortsでのインストールは失敗しました。なのでFinkの方をおすすめします。
Finkの場合
$ sudo fink install libjpeg $ sudo fink install libpng $ sudo fink install libtiff
MacPortsの場合
$ sudo port install jpeg $ sudo port install libpng $ sudo port install tiff
Windows
Windows版はバイナリにより配布しているため、準備は不要です。
インストール
$ sudo gem install rqr
使い方
require "rubygem"
require "rqr"
RQR::QRCode.create do |qr|
qr.save("http://www.amazon.com", "path/to/qrcode.jpg")
end
簡単です。すばらしい。
次のサンプルではモジュールのピクセルサイズを小さくして出力してみます。
require "rubygem"
require "rqr"
RQR::QRCode.create(:module_size=>2) do |qr|
qr.save("http://www.amazon.com", "path/to/qrcode.jpg")
end
こんな風にcreateメソッドにオプションを渡すことで、生成するQRコードの設定を変更できます。
また拡張子で画像フォーマットを変更することも可能です。
詳しくは、メインページでチェックしてみてください。
フィードバックやパッチがあれば、rubyforgeまでお願いします。
Posted at Saturday, August 16th, 2008comments (6) | trackback | category: Internet, programming, rails, ruby
Read More
Related Reading:



November 16th, 2008 11:13
これはお手軽で素晴らしいですね。
ただ私のWindows環境(Ruby one-click installer 186-26) +
rqr 0.2.2 だと qrcode.rb:56 で close メソッドがないと
言われてしまいます。
コケるのは QRの画像が生成された後なので rescue で救って
あげれば表面上は問題なくなるのですが、毎回 close せずに
終わるのはまずいでしょうか。
そもそも私のセットアップに何か問題があるんでしょうか?
November 16th, 2008 17:49
Shinjiさん、コメントありがとうございます!
rqrの内部コードからブロックの終了時にcloseを呼び出しています。
したがって、基本的には、ブロックを使っていればcloseメソッドを呼び出す必要はありません。(rubyのFile.openでブロックを使うイメージです)
おそらく、rqrのバグで、qrコードのイメージオブジェクト無い状態でcloseを呼び出した場合にコケている可能性が高いかと思います。
(つまりShinjiさんのコードには問題がないと思います)
確認して次のバージョンでの修正を検討してみます。
他に何かありましたら、ぜひフィードバックお願いします!
November 17th, 2008 20:24
pools さんありがとうございます。
近いうちにもう少し本格的に使ってみようと思います。
何か気になる事があればまたご連絡します。
0.2.3 期待してます。
December 22nd, 2008 14:51
rqr ありがとうございます! 使わせて頂きます ^^)/
September 28th, 2009 17:36
CentOS5.3を使用しています。
説明ではlib[jpeg|png|tiff]のインストールが必要とありますが、そのほかにlib[jpeg|png|tiff]-develのインストールも必要なようです。
gem install時に画像フォーマットに対応するライブラリがないとその画像フォーマットが使用できません。
$ ruby /usr/lib/ruby/gems/1.8/gems/rqr-0.2.2/test/test_rqr.rb
Loaded suite /usr/lib/ruby/gems/1.8/gems/rqr-0.2.2/test/test_rqr
Started
/usr/lib/ruby/gems/1.8/gems/rqr-0.2.2/test/../lib/rqr/qrcode.rb:50:in `save’: qrcode image error! test.jpg wasn’t created. (RQR::ImageExcep
tion)
December 15th, 2009 05:29
非gems環境でのインストールメモを書きました。
http://d.hatena.ne.jp/m_seki/20091215#1260821703