add image contours

This commit is contained in:
kekee000
2015-03-02 07:53:44 +08:00
parent 6cc50958c3
commit 710b7f590e
7 changed files with 223 additions and 0 deletions

30
demo/canvasImage.html Normal file
View File

@@ -0,0 +1,30 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>canvas读取图片</title>
<script src="../dep/esl.js"></script>
<script src="../dep/jquery.min.js"></script>
<style>
body {
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<canvas id="canvas" width="800" height="800"></canvas>
<script>
require.config({
baseUrl: '../src',
paths: {
demo: '../demo/js',
}
});
define('jquery', $);
</script>
<script>require(['demo/canvasImage'])</script>
</body>
</html>

60
demo/js/canvasImage.js Normal file
View File

@@ -0,0 +1,60 @@
/**
* @file canvas读取图片
* @author mengke01(kekee000@gmail.com)
*/
define(
function (require) {
var image2Values = require('graphics/image/image2Values');
var findContours = require('graphics/image/findContours');
var entry = {
/**
* 初始化
*/
init: function () {
var context =document.getElementById("canvas").getContext("2d");
var cvsH = context.height;
var cvsW = context.width;
var img = new Image();
img.src = "../test/add.gif";
var width;
var height;
img.onload = function (){
width = img.width;
height = img.height;
context.drawImage(img, 0, 0);
var imgData = context.getImageData(0, 0, width, height);
var result = image2Values(imgData);
//var pointArray = findContours(result);
context.clearRect(0, 0, width, height);
var putData = imgData.data;
var data = result.data;
for (var y = 0; y < height; y ++) {
for (var x = 0; x < width; x++) {
var offset = y * height + x;
if (data[offset]) {
putData[offset * 4] = 255;
putData[offset * 4 + 1] = 255;
putData[offset * 4 + 2] = 0;
putData[offset * 4 + 3] = 255;
}
}
}
context.putImageData(imgData, 0, 0);
console.log(result.length);
};
}
};
entry.init();
return entry;
}
);