Skip to content

Instantly share code, notes, and snippets.

@miettal
Last active September 28, 2015 05:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save miettal/aa08d7f001b6e473a117 to your computer and use it in GitHub Desktop.
Save miettal/aa08d7f001b6e473a117 to your computer and use it in GitHub Desktop.
$(function(){
/* Canvasにコピー */
$("body").append('<canvas>');
var canvas =$("canvas")[0];
$('canvas').attr('width', 404);
$('canvas').attr('height', 404);
if ( ! canvas || ! canvas.getContext ) { return false; }
var ctx = canvas.getContext('2d');
var img = new Image();
img.src = $("img").attr("src")
ctx.drawImage(img, 0, 0);
var imagedata = ctx.getImageData(0, 0, 404, 404);
var data = imagedata.data;
/* 適当に集計 */
var hash = {};
for (var i=0; i < 404; ++i) {
for (var j=0; j < 404; ++j) {
var sum = 0;
for (var k=0; k < 4; ++k) {
sum += data[(i*404+j)*4+k];
}
if(hash[sum] == undefined) {
hash[sum] = 0;
}
hash[sum]++;
}
}
/* 適当に各画素値の代表点(左上初出ピクセル)の座標をなげてみる */
jQuery.each(hash, function(key, val) {
for (var i=0; i < 404; ++i) {
for (var j=0; j < 404; ++j) {
var sum = 0;
for (var k=0; k < 4; ++k) {
sum += data[(i*404+j)*4+k];
}
if(key == sum) {
var url = $("img").attr("src").slice(4, -4)+'?x='+j+'&y='+i;
console.log(j, i);
$.get(url, {}, function(data){
console.log(data);
if(data!="Wrong"){
window.location.href=url;
}
});
return true;
}
}
}
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment