mrubyでQRCode
mrubyでQRCodeを表示するためのmrbgemを作ってみました。
後日追記:すでに作られていた方がいらっしゃいました。そちらは画像を返すmrbgemのようですが、こちらは画像処理が入っていないmrbgemになります。
使い方は簡単で文字列をmruby-packを使って配列にして、クラスメソッドのencodeに渡します。
txt = "MORI MORI QRCode"
qr = QRCode.encode(0, 1, txt.unpack("C*"))
でqrコードのビットパターンの配列が返ってきます。
第一引数がLevelで0から4で第二引数がVersionで第三引数がエンコードするデータの配列です。
漢字の場合はmruby-nkfでSJISにします。
sjis = NKF.nkf('-s', txt).unpack("C*")
mruby-cairoで液晶に表示してみました。
wnnsjis = NKF.nkf('-s', wata + naka).unpack("C*")
qr = QRCode.encode(0, 2, wnnsjis)
offx = (128 - (25 * 2)) / 2
offy = 80
c.set_source_rgb(0, 0, 0)
for n in 0..24 do
for m in 0..24 do
if qr[n * 25 + m] == 1 then
c.rectangle(m*2+offx, n*2+offy, 2, 2)
c.fill()
end
end
end
lcd.write_cmd([0x2C])
lcd.copyspi(c)
SJISでゴメンね>栗林さん
c++のコードを使っているので実行にはc++のライブラリが必要になります。
コアの部分はサイテックさんが公開されているコードを利用させてもらいました。ありがとうございます。
mruby-qrcodeはFreeBSDで作りましたが、特にOS依存はないはずなので、他のプラットフォームでも使えると思います。
Author And Source
この問題について(mrubyでQRCode), 我々は、より多くの情報をここで見つけました https://qiita.com/yamori813/items/cdeb9240e6b504b5ce38著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .