<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<?php
// put your code here
?>
<canvas id="my_canvas" width="1200" height="700"> 浏览器不支持canvas </canvas>
<img src="Desert.jpg">
<script type="text/javascript">
var canvas = document.getElementById('my_canvas');
if(canvas.getContext){
var ctx = canvas.getContext('2d');//获取2d上下文
//画图
var img = document.images[0];
ctx.drawImage(img, 0, 0);
//获取ImageData
var imgData = ctx.getImageData(0, 0, canvas.width, canvas.height);
var data = imgData.data;//线性化4维数组(ImageData对象是4维数组,每一维分别表示r, g, b, a)
//反色
var r, g, b, a;
for(var i = 0, len = data.length;i < len; i+=4){
//取色
r = data[i];
g = data[i+1];
b = data[i+2];
//a = data[i+3];//反色不需要透明度
//反色
data[i] = 255 - r;
data[i+1] = 255 - g;
data[i+2] = 255 - b;
}
imgData.data = data;//写回图像数据
ctx.putImageData(imgData, 0, 0);//显示结果
}
</script>
</body>
</html>
1/原图
2/效果图