QR コードを作成するプログラムです。 swetake さんのサイト で公開されていた Java プログラムを C++ に移植しました。
ファイル名 | 内容 |
---|---|
qrcode.h | Qrcode クラス定義 |
qrcode_data/* | Qrcode クラスが必要とするデータ |
main.cpp | Qrcode クラスを利用するサンプル |
Makefile | main.cpp をコンパイルする Makefile |
このソースコードで重要なのは qrcode.h です。 qrcode.h は他のソフトに組み込んで使用するように作ってあります。 qrcode.h 単体では使えないので、サンプルとして main.cpp も添付します。
qrcode_data/* は、Qrcode クラスを実行するときにアクセスするデータファイル群です。 Qrcode クラスを実行するときに、カレントディレクトリを qrcode_data/ の上にするか、setQrcodeDataPath() エントリで qrcode_data/ ディレクトリの場所を指定してください。
make すると、qrencode コマンドができます。 この qrencode コマンドの使い方を解説します。
qrencode コマンドは、文字列データを入力にとり、 BMP イメージファイルを出力します。
% qrencode [オプション] データ文字列 出力先のBMPファイル名 |
オプション | 説明 |
---|---|
-m 数字 | 出力イメージのサイズを指定します。 数字は1以上の数字を指定し、出力画像縦横のサイズが指定した数字倍になります。 QR コードを出力するときは、小さいイメージを一般のツールで拡大するよりも、最初から大きなイメージを用意した方がトラブルが少ないです。 またイメージサイズを変換するとき、アルゴリズムを選択できるならニアレストネイバーを選択しましょう。 このオプションを省略すると、-m 8 を指定した時と同じ出力になります。 |
-L | エラー訂正コードをLレベルにします。 |
-M | エラー訂正コードをMレベルにします。 |
-Q | エラー訂正コードをQレベルにします。 |
-H | エラー訂正コードをHレベルにします。 |
QR コードの規格は、中に格納するデータの種類によって、数字、英数字、漢字、8bit データなどのモード切替えができます。 qrencode プログラムは、渡された文字列を調査し適当なモードでエンコードします。 全体を一つのモードとし、複数の文字種が含まれるときでも、途中でモードを切替えたりはしません。
このプログラムのライセンスは、オリジナルと同じにします。 著作権表示を改変してはいけませんが、それ以外の利用は自由です。 再配布、商用利用、改変、プロプライエタリプログラムへの組み込みも自由です。