以下のサイトのライブラリを利用して、QRコードを出力しました。
http://www.swetake.com/qr/php/qr_php.html
プログラム経由でほぼ同じバイト数のデータ持たせたQRコードの画像ファイルを生成したところ、画像の大きさが一定ではありません。
どうにかして、画像ファイルの大きさを一定にしてQRコード画像ファイルを書き出すことはできないのでしょうか?
また、何で画像ファイルの大きさが決まるのでしょうか?
画像の大きさは、やはり表示したい文字の情報量で決まります。
ただし、ほぼ同じ程度のバイト数とかかれましたが、サイズは字数ではなく字種によっても影響を受けるので、数字か漢字かによっても変わってきます。
http://d-.net/code/in-data.htm
なので画像の表示サイズを同じにしたいのであれば、imgのプロパティで表示サイズを固定にしてはどうでしょうか。
例えば、
$rq_img = "http://localhost//rq_img.php"; //rq_imgライブラリを指定 $d = "表示データ"; $e = "M"; //エラー $t = "J"; //JPG出力 $s = "2"; //サイズ; echo "<img src=\"$_img?d=$d&e=$e&t=$t&s=$s\" width=\"100\" height=\"100\">\n";
のようにすれば、生成されるの画像サイズに関わらず、表示サイズを100x100 pix に固定することができます。
ただし、大きなコードは相対的に中のセル(表示を構成する四角)が小さくなってしまうのである程度大きなで表示しないと、読取に影響が出ますので注意が必要です。
やはりそうなりますか。
実際に試したところ、160くらいの画像を100ぐらいで表示させてもちゃんと認識できました。
この方法が無難そうですね。
>1.絶対サイズが指定できない
>「s=n」で指定できるサイズは概算サイズでテキスト内容に
>よって大きさが変化する
仕様みたいですね。
一応、対策方法はあるようです。
http://itpro.nikkeibp.co.jp/article/COLUMN/20061110/253264/?ST=s...
http://itpro.nikkeibp.co.jp/article/COLUMN/20061129/255282/?ST=s...
ざーと読む限りは、後半のURLで問題解決方法が示されています。
前半から読んだほうが分かりやすいと思います。
なるほど。
できないことはなさそうですね。
今回は、手間を考えて前の方の方法をしますが、別のところではこの方法もありですね。
ありがとうございます。
x