Jun 19, 2008
QR コードクラスライブラリ for Java にチャレンジ
QR コードクラスライブラリ for Java とは
QR コードクラスライブラリ for Java は、文字列から QR コードのデータを作成する Java 用のライブラリ。 ライブラリに文字列を渡すと boolean[][] の配列を返してくれる。 良く見かける QR コードの画像は boolean[][] から自前で作成する。
- QR コードクラスライブラリ for Java
- http://www.swetake.com/qr/java/qr_java.html
QR コードクラスライブラリ for Java で QR コード画像を作成してみる。
とりあえず ↓ の情報だけは一通り目を通すと良い。
- QR コードクラスライブラリ for Java - API Document
- http://www.swetake.com/qr/java/docs/index.html
- QR Code.com - バージョンの決定
- http://www.denso-wave.com/qrcode/vertable1.html
- QR Code.com - コード領域の確定
- http://www.denso-wave.com/qrcode/qrgene4.html
作成した画像をテストするには ↓ のツールを使用すると便利。
- Psytec - QR Code Editor
- http://www.psytec.co.jp/docomo.html
サンプルコード
// QRコードクラスライブラリ for Java の準備。
Qrcode qrcodeLogic = new Qrcode();
qrcodeLogic.setQrcodeEncodeMode('*');
qrcodeLogic.setQrcodeErrorCorrect('M');
qrcodeLogic.setQrcodeVersion(7);
// QR コードデータを作成。
byte[] targetBytes = target.getBytes();
boolean[][] qrcodeData = qrcodeLogic.calQrcode(targetBytes);
// QR コード画像用の BufferedImage を準備。
// 周りに 4cell 分のマージンを用意する。
BufferedImage image = new BufferedImage(size.getCellSize()
* (qrcodeData[0].length + 8), size.getCellSize()
* (qrcodeData[0].length + 8), BufferedImage.TYPE_INT_BGR);
Graphics g = image.getGraphics();
g.setColor(QRCODE_IMAGE_BACKGROUNDCOLOR);
g.fillRect(0, 0, image.getWidth(), image.getHeight());
// QR コードデータを画像に変換。
for (int i = 0; i < qrcodeData.length; i++) {
for (int j = 0; j < qrcodeData[i].length; j++) {
boolean cellFilled = qrcodeData[i][j];
Color cellColor = cellFilled ? QRCODE_IMAGE_FOREGROUNDCOLOR
: QRCODE_IMAGE_BACKGROUNDCOLOR;
g.setColor(cellColor);
g.fillRect(size.getCellSize() * (i + 4), size.getCellSize()
* (j + 4), size.getCellSize(), size.getCellSize());
}
}
g.dispose();
TrackBack ping me at
http://www.in-vitro.jp/blog/index.cgi/Library/20080619_01.trackback
writeback message: Ready to post a comment.
