Zxing のバーコードリーダーを縦画面で使う方法

Zxing はバーコードやQRコードを読み取るためのオープンソースライブラリ。
様々なプラットフォームに対応しており、Android でも利用できる。

Android 版のサンプルコードが添付されているが、横画面(Landscape)固定だった。サンプルというか Android Market で公開されている QRコードリーダー そのもの。 

今回、お仕事の関係で、縦画面(Portrait)で使いたかったのでメモ。

ソースの AndroidManifest.xml を見ると、CaptureActivity の screenOrientation を "landscape" から "portrait" に変えただけだと、画面は縦向きだが画像は横向きでしかも潰れたような変な絵になってしまった。

検索してみると Zxing Google Project の Issues に解決方法が提示してあった。

Issue 178 - zxing - Would like barcode scanning to work in portrait mode - Multi-format 1D/2D barcode image processing library with clients for Android, Java - Google Project Hosting

どうやらサンプルは横画面専用で、縦画面にするにはいろいろデータを加工したり、画面を回転させてあげないといけないらしい。

上のリンクの説明通りにコード変更したらめでたく縦画面で動作した(IS03 で)。QRコードもバーコードも読めたよ。

とりあえず縦画面版のソースを github に置いておきます。

https://github.com/amay077/ZxingAndroidInPortrait

コミットログを見てもらえば変更点は一目瞭然かと。スゲェな、github!

おく

おく

名古屋で地図や位置情報系の Android アプリを作っています。
HexRinger よろしこ。
詳しくはこっち↓で

twitter : @amay077
portal: iddy

Archive

2012 (11)
2011 (46)
2010 (38)
Posterous theme by Cory Watilo