画像に文字を仕込む
ありがちだけど、画素のRGBの値に文字コードを割り当てると、1ピクセルに3文字入れることができる。
サンプルコード。
(前までのもそうだけど、このライブラリを使っている)
function CodeToImage(canvas, code){ var ip = new ImageProcessing(canvas); ip.canvas.width = code.length / 3 + 1; ip.canvas.height = 1; for(var i = 0, n = 0; i < code.length; i++, n++){ var r = code.charCodeAt(i); var g = code.charCodeAt(++i) || 0; var b = code.charCodeAt(++i) || 0; var px = new ImageProcessing.Color(r, g, b); ip.setPixel(n, 0, px); } } function ImageToCode(canvas){ var ip = new ImageProcessing(canvas); var code = []; for(var i = 0; i < ip.canvas.width; i++){ var px = ip.getPixel(i, 0); code.push(px.r, px.g, px.b); } code = code.map(function(n){ if(n != 0) return n; }); return String.fromCharCode.apply(null, code); }
デモ。
http://arikui.s101.xrea.com/test/canvas/cg/test/code_image.html
使い方は特に思い浮かばない。