開発環境 メモ帳
実行環境 Internet Explorer 11

canvas.html
<!doctype html>
<head>
<title>canvas</title>
</head>
 
<body>
<button onclick="draw('sample.png')">draw</button>
<button onclick="reverse()">reverse</button>
<br>
<canvas id="canvas"></canvas>
<script>
 
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
 
function draw(filename)
{
	var img = new Image();
	img.src = filename + "?" + Date.now();
	img.onload = function() {
		canvas.width = img.width; // natural
		canvas.height = img.height;
		ctx.drawImage(img, 0, 0);
	}
}
 
function reverse()
{
	var imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
	var data = imageData.data;
 
	for (var i = 0; i < data.length; i += 4) {
		var r = data[i+0];
		var g = data[i+1];
		var b = data[i+2];
		var a = data[i+3];
		data[i+0] = 0xff - r;
		data[i+1] = 0xff - g;
		data[i+2] = 0xff - b;
	}
 
	ctx.putImageData(imageData, 0, 0);
}
 
</script>
</body>
 
最終更新:2014年09月08日 20:42