「偽QRコード」描画スクリプト
  1. QRコードのような画面を描画するためのスクリプトです。
  2. このままHTMLファイル内に貼り付けるだけで、偽のQRコードが描かれます。
  3. ただし、ブラウザの設定でJavascriptをオフにしている場合は動作しません。
  4. また多くのブログでは、Javascriptの書かれたページをサーバ側で使用できないようにしてある場合があります。
  5. このままでも使えますが、若干のカスタマイズも可能です。「セル数」は一辺のセルの数、「セルの大きさ」はセル1個のピクセル数、「濃さ」は黒いセルの出現割合です。
  6. ブラウザによっては正しく描画されない場合があります。
  7. 動作保障はいたしません。また、このスクリプトを使用したことによって生じたいかなる障害に対しても製作者は責任を負いません。すべて自己責任でご使用ください。
  8. ご使用、改変は自由にどうぞ。連絡は一切不要です。「俺が作ったんだ」って言うのもあり。言わないと思うけど。
  9. 商用利用、軍事・医療目的での使用は徒労に終わると思いますよ。

<script language="JavaScript">
<!--
// 偽QRコード出力(作:元町二十四軒)
    var qrsize=41;      // セル数
    var cellsize=3;     // セルの大きさ
    var probvalue=60;   // 濃さ 0-100
    var bcol='white';   // 背景色 #rrggbb or web color
    var fcol='black';   // 前景色 #rrggbb or web color
    var probArray = new Array(qrsize*qrsize);
    for(column=0;column<qrsize;column++)
        for(row=0;row<qrsize;row++)
            probArray[column*qrsize+row] = probvalue;
    for(column=0;column<7;column++) {
        for(row=0;row<7;row++) {
            if (column==6 || row==6)
                probvalue = 0;
            else if ((row==1||row==4) && (column>0 && column<5))
                probvalue = 0;
            else if ((column==1||column==4) && (row>0 && row<5))
                probvalue = 0;
            else
                probvalue = 100;
            probArray[column*qrsize+row] = probvalue;
            probArray[(qrsize-1-column)*qrsize+row] = probvalue;
            probArray[column*qrsize+(qrsize-1-row)] = probvalue;
        }
    }
    document.write('<table border="0" cellpadding="0" cellspacing="0">\n');
    for(column=0;column<qrsize;column++) {
        document.write('<tr>\n');
        for(row=0;row<qrsize;row++) {
            color=(Math.floor(Math.random()*99)+1<=probArray[column*qrsize+row])?fcol:bcol;
            document.write('<td bgcolor="'+color+'" width="'+cellsize+'" height="'+cellsize+'"> </td>\n');
        }
        document.write('</tr>\n');
    }
    document.write('</table>\n');
//-->
</script>
<noscript><table>
    <tr  align="center" valign="middle" bgcolor="gainsboro" width="130" height="130">
        <td>Javascriptがオフですね。</td>
    </tr>
</table></noscript>

BACK