「Qtの応用 - QRコード」の版間の差分

ナビゲーションに移動 検索に移動
1行目: 1行目:
== 概要 ==
== 概要 ==
 
QRコード (Quick Response Code) は1994年にデンソーウェーブによって開発された2次元バーコードである。<br>
従来の1次元バーコードと比較して、縦横両方向に情報を持つため、より多くのデータを格納できる特徴がある。<br>
<br>
英数字で最大約4300文字、漢字で約1800文字までの情報を記録でき、誤り訂正機能によりコードの一部が汚れたり破損したりしても読み取りが可能である。<br>
また、360度どの角度からでもスキャンでき、高速な読み取りが可能である。<br>
<br>
当初は自動車部品の管理用に開発されたが、現在では商品管理、マーケティング、決済、身分証明等、幅広い用途で活用されている。<br>
特に、スマートフォンの普及により、URLやテキスト情報の共有手段として一般的になっている。<br>
<br>
C++で利用可能なQRコードライブラリについて、それぞれの特徴を以下に示す。<br>
<br>
これらのライブラリの多くは、エラー処理、バージョン管理、マルチスレッド対応等、実務で必要となる機能も備えている。<br>
また、ZXing-C++ライブラリは機能が豊富である反面、学習曲線が比較的急である。<br>
libqrencodeライブラリは単一機能に特化しているため、導入が容易である。<br>
<br>
* ZXing-C++ライブラリ
*: URL : https://github.com/zxing-cpp/zxing-cpp
*: ライセンス : [[その他_-_ソフトウェアライセンス#Apache_Software_License_2.0|Apache 2.0]]
*: <br>
*: JavaのZXingをC++に移植したライブラリである。
*: QRコードの読み取りと生成の両方に対応しており、広範なバーコードフォーマットをサポートしている。
*: オープンソースであり、活発なコミュニティによって継続的にメンテナンスされている。
*: <br>
* QZXingライブラリ
*: URL : https://github.com/ftylitak/qzxing
*: ライセンス : [[その他_-_ソフトウェアライセンス#Apache_Software_License_2.0|Apache 2.0]]
*: <br>
*: Qtでの使用に最適化されたQRコードライブラリである。
*: ZXingをベースにしているが、Qtフレームワークとの統合が強化されている。
*: <br>
*: <u>QMLからの直接利用が可能であり、特に、モバイルアプリケーション開発に適している。</u>
*: また、カメラフィードからのリアルタイムデコードにも対応している。
*: <br>
* libqrencodeライブラリ
*: URL : https://fukuchi.org/works/qrencode/ , https://github.com/fukuchi/libqrencode
*: ライセンス : [[その他_-_ソフトウェアライセンス#LGPL(GNU_Lesser_General_Public_License)|LGPL 2.1]]
*: <br>
*: QRコード生成に特化したライブラリであり、高速な処理と高品質な出力が特徴である。
*: CベースでC++からも容易に利用可能で、PNG形式での出力やSVGフォーマットもサポートしている。
*: 様々な誤り訂正レベルや符号化モードに対応しており、マイクロQRコードの生成も可能である。
*: また、サイズの最適化や構造化追加等の機能も備えている。
*: <br>
* QuickQRライブラリ
*: URL : https://quickqr.art/ , https://quickqr.art/app/subscription
*: ライセンス : -
*: <br>
*: 最近のC++で記述された新しいライブラリであり、QRコードの生成に特化している。
*: テンプレートベースの設計により、コンパイル時の最適化が可能である。
*: また、カスタマイズ性が高く、様々なスタイルやデザインのQRコードを生成することができる。
*: <br>
* Quirc
*: URL : https://github.com/dlbeer/quirc
*: ライセンス : [[その他_-_ソフトウェアライセンス#ISCライセンス|ISC]]
*: <br>
*: 軽量で高速なQRコードデコーダライブラリである。
*: <u>組み込みシステムやリソースが制限された環境での使用に適している。</u>
*: APIがシンプルなため、直感的な使用が可能である。
*: <u>ただし、QRコードの生成機能は無い。</u>
<br><br>
<br><br>


案内メニュー