PHPで出力させたQRコードの画像サイズについて教えてください。

以下のサイトのライブラリを利用して、QRコードを出力しました。
http://www.swetake.com/qr/php/qr_php.html

プログラム経由でほぼ同じバイト数のデータ持たせたQRコードの画像ファイルを生成したところ、画像の大きさが一定ではありません。

どうにかして、画像ファイルの大きさを一定にしてQRコード画像ファイルを書き出すことはできないのでしょうか?

また、何で画像ファイルの大きさが決まるのでしょうか?

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/08/12 12:01:39
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:minkpa No.1

回答回数4178ベストアンサー獲得回数55

id:dingding

2007/08/11 14:13:43
id:hiramatsu_kg No.2

回答回数424ベストアンサー獲得回数3

解像度ですね。

id:dingding

2007/08/11 14:13:06
id:Mook No.3

回答回数1314ベストアンサー獲得回数393

ポイント45pt

画像の大きさは、やはり表示したい文字の情報量で決まります。


ただし、ほぼ同じ程度のバイト数とかかれましたが、サイズは字数ではなく字種によっても影響を受けるので、数字か漢字かによっても変わってきます。

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 に固定することができます。


ただし、大きなコードは相対的に中のセル(表示を構成する四角)が小さくなってしまうのである程度大きなで表示しないと、読取に影響が出ますので注意が必要です。

id:dingding

やはりそうなりますか。

実際に試したところ、160くらいの画像を100ぐらいで表示させてもちゃんと認識できました。

この方法が無難そうですね。

2007/08/12 11:58:38
id:KUROX No.4

回答回数3542ベストアンサー獲得回数140

ポイント45pt

>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で問題解決方法が示されています。

前半から読んだほうが分かりやすいと思います。

id:dingding

なるほど。

できないことはなさそうですね。

今回は、手間を考えて前の方の方法をしますが、別のところではこの方法もありですね。

ありがとうございます。

2007/08/12 12:00:37

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません