エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


QRコード(二次元バーコード)作成サービスを公開

   

QRコード(二次元バーコード)作成サービスを公開

 
QRコード(二次元バーコード)作成サービス
https://s-giken.info/qrcode/index.php
 
QRコード(二次元バーコード)を作成するサービスをリリースしました。
 
 

QRコード(二次元バーコード)作成サービスの特徴

 
ハッキリ言って、他のサイトなどで提供されている QRコード(二次元バーコード)作成サービスと大きな違いはありません。
 
サイトの URL、メールアドレスを始め、ただのテキストの文章などを QRコード(二次元バーコード)の画像に変換して表示する、というものです。
 
作成の際に選択できるオプションは以下のとおりです。
 

  • 画像のサイズ
  • エラー訂正レベル
  • 画像の中の余白のサイズ

 
 

「画像サイズ」オプション

 
「画像サイズ」は、QRコードを画像として生成しますが、その画像自体のサイズをピクセル数で指定するものです。
数値が大きいほど大きな画像になります。
 
01_QRコード(二次元バーコード)作成サービスを公開
 
上記は、縦横 100ピクセル、縦横 200ピクセルのサンプルの QRコードです。
大きな画像にするほど 1つずつのセル(※)の大きさも大きくなりますので、エラーが発生しにくくなります。
QRコードにする文字数によって適切なサイズを指定します。
 
※「セル」とは、QRコードを構成している四角の白黒の点のことです。
 
 
また、印刷することを想定する場合は、より大きな画像で作成し、解像度を高くして印刷することをオススメします。
 
※画面に表示される画像の解像度は 72dpiですが、一般的な印刷物の解像度は 300dpiです。
そのため、印刷を想定する場合は、必要なサイズの 4倍のサイズで作成するといいでしょう。
 
 

「エラー訂正レベル」オプション

 
QRコードには、QRコードのセルが読み取れなかった場合に、情報を自動的に補正して、正しい情報に訂正する仕組みがあります。
そのどれくらい読み取れなくても正しい情報として読み取ることができるか、を決めたものが「エラー訂正レベル」で、「エラー訂正レベル」が高いほど読み取れないセルが多くても正しい情報に変換してくれます。
 
 
02_QRコード(二次元バーコード)作成サービスを公開
 
ただし、「エラー訂正レベル」を高くすると、より多くのセルが必要となりますので、より大きな画像にならざるを得なくなっていきます。
上記の画像は、同じ 100文字の文字列を QRコードにしたものですが、エラー訂正レベルが高いほどセルの大きさが小さくなっています。(セルの数が多くなっています。)
 
設定できるものは下記のもので、デフォルトでは「L」が設定されています。
 
「L : 7%の欠損まで復元可能」
「M : 15%の欠損まで復元可能」
「Q : 25%の欠損まで復元可能」
「H : 30%の欠損まで復元可能」
 
QRコードの「誤り訂正機能」については下記を参照してください。
 
QRコード・誤り訂正機能について
https://www.qrcode.com/about/error_correction.html
 
 
野外で風雨にさらされる場所や、多くの人が触るような場所などに設置する場合は、QRコードが汚れたり破れたりして読み取れないセルも発生する可能性があります。
そのような場所に設置する QRコードの場合は、「エラー訂正レベル」を高いものにしておく方がいいでしょう。
逆に、スマホや PCの画面に QRコード表示するような場合は、「エラー訂正レベル」は低いもので問題ありません。
 
 

「画像の中の余白のサイズ」オプション

 
「画像の中の余白のサイズ」は、作成する画像に対して、どれくらいの余白をとって QRコードを表示させるか、という指定です。
 
数値が 0の場合は、ほぼ余白はありません。
数値が大きくなっていくほど余白が大きくなっていきます。
 
03_QRコード(二次元バーコード)作成サービスを公開
 
上記の画像は、余白「3」です。
 
 

QRコード(二次元バーコード)について

 
QRコードについて詳しく知りたい、という方は下記の本家のサイトを見ていただくことが一番だと思います。
 
QRコードドットコム
https://www.qrcode.com/
 
知らない方もあるかもしれませんが、QRコードは、自動車メーカーの「株式会社デンソー」が開発した二次元バーコードです。
現在は、開発部門を分離、子会社化した「株式会社デンソーウェーブ」が特許を持っています。
 
そして、デンソーウェーブは、「QRコードの特許権を行使しない」と宣言したこともあり、日本国内にとどまらず、世界中で使われるようになっていきました。
また、デンソーウェーブが特許権を行使しないため、我々もこうして QRコードを生成するサービスを自由に提供できるようになっています。
 
 

QRコード生成ライブラリ「cakePHP-QR-Code-Helper」

 
この QRコード(二次元バーコード)作成サービスは、下記の「cakePHP-QR-Code-Helper」をカスタマイズして利用しています。
 
muxe/cakePHP-QR-Code-Helper
https://github.com/muxe/cakePHP-QR-Code-Helper
 
 
詳細は下記の記事に書いていますが、「cakePHP-QR-Code-Helper」は CakePHP2で QRコードを生成するためのライブラリです。
CakePHP3でQRコードを作成、表示するライブラリ「cakePHP-QR-Code-Helper」
QRコード作成ライブラリ「cakePHP-QR-Code-Helper」をPHPで使うカスタマイズ
 
その内部では、Googleがグラフを生成、表示するために提供している API「Google Chart API」が使われています。
 
そのため、この QRコード(二次元バーコード)作成サービスでは、作成した QRコードの画像はサーバ上には持っていません。(QRコードは、「Google Chart API」のサーバで生成しています。)
 
また、QRコードの生成履歴なども残していませんので、過去に生成した QRコードが漏洩すると言った心配はありません。
 
逆に、過去に作成した QRコードを一覧表示したい、といったことはできません。
 
 

「URL短縮サービス・TTTオンライン」でも QRコードを生成している

 
同じ QRコードライブラリ「cakePHP-QR-Code-Helper」を使って作成したサービスとして、「URL短縮サービス・TTTオンライン」があります。
 
URL短縮サービス・TTTオンライン
https://ttt.onl
 
この TTTオンラインを作った知見に基づいて作成したのが、この記事で紹介した「QRコード(二次元バーコード)作成サービス」ですが、TTTオンラインもよろしければこちらも使ってみてください。

 - PHP・Smarty・ECCUBE

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

SEO対策用タイトル、ディスクリプションの文字数カウントツール

SEO対策に使える文字数カウントツールで文字数の条件の説明も行っています。

路線・駅検索をPHPで実装する方法解説。GoogleMapsの緯度経度から計算し検索
路線・駅検索をPHPで実装する方法解説。GoogleMapsの緯度経度から計算し検索

路線・駅検索の仕組みの構築は大変。登録する側も最寄り駅が多い場合は大変。なので簡易に実装するため緯度経度に基づき直線距離を計算する処理を考案して実装して、その処理を解説。

パーミッション(属性)一括変更ツール・WordPress最適化済

WordPressのパーミッション(属性)を一括変更するツールを作成!ファイル、フォルダのパーミッションが一覧表示でき、ファイルを選んでパーミッションの変更が行えます。

AdminerはphpMyAdmin代替のデータベース管理ツール

AdminerはphpMyAdminとほぼ同機能のデータベース管理ツール。PHP 1ファイルのため設置が非常に簡単で軽快に動作し、phpMyAdminの置き換えで使うのも問題なし。

PHPパーミッション変更のchmod関数・モードを変数で指定する方法

パーミッション変更関数であるchmod関数の第二引数、ファイルモードの指定に変数を使う場合は8進数に変換するoctdec関数を使って変換します。

JSON形式の値を配列形式に変換・PHPでは json_decode()、json_encode()
JSON形式の値を配列形式に変換・PHPでは json_decode()、json_encode()

JSONとは「JavaScript Object Notation」の略でテキストベースのデータフォーマット。JSONの値をPHPで配列に変換するWebツールの紹介とその処理「json_encode()」「json_decode()」関数の解説。

フォルダを指定してファイルのパーミッションを変更するプログラム

フォームからフォルダ、パーミッションを指定しパーミッションを変更するサンプルプログラムの解説です。

Basic認証の.htaccess、.htpasswd生成ツールと解説

Basic認証を設定する際に必要となる.htaccess、.htpasswdファイルを生成するツール。ID、PASS、.htpasswdへのパスを入力することで編集する情報を生成します。

ECCUBEの管理画面のSSL設定をインストール後に変更する方法

ECCUBEをインストールした後から管理画面のSSL設定を変更する方法を解説します。config.phpファイルのHTTPS_URLとADMIN_FORCE_SSLの値を変更すればOK。

PHPで正規表現の検証には preg_match_allが便利

PHPで正規表現の検証には preg_match_allが便利です。その便利さの使い方の解説です。