Html5 反色 及其 透明 效果


<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>PaoPaoGame</title>
<!-- <script type="text/javascript" src="src/Main.js"></script> -->
<script type="text/javascript">
var context = null;
var image = null;
function loadImage() {
var main = document.getElementById("maincanvas");
if(main == null)
return false;
context = main.getContext("2d");
drawImage();
}

function drawImage() {
//反色效果
var imgSrc = document.getElementById("image");
context.drawImage(imgSrc, 0, 0);
var imgd = context.getImageData(0, 0, 398, 552);
var pix = imgd.data;
for(var i = 0, n = pix.length; i < n; i += 4) {
pix[i] = 255 - pix[i];
pix[i + 1] = 255 - pix[i + 1];
pix[i + 2] = 255 - pix[i + 2];
}
context.putImageData(imgd, 0, 0, 398, 552);

//透明度效果
var imgSrc_alpha = document.getElementById("image_alpha");
context.drawImage(imgSrc_alpha, 400, 0, 398, 552);
var imgd_alpha = context.getImageData(400, 0, 398, 552);

var pix_alpha = imgd_alpha.data;
for(var j = 3, n = pix_alpha.length; j < n; j += 4) {
pix_alpha[j] = pix_alpha[j] * 0.2;
}
context.putImageData(imgd_alpha, 400, 0, 398);
}
</script>
</head>
<body onLoad="loadImage()">
<canvas id="maincanvas" width ="800" height ="600" >
<img src="images/other/1.png" width="398" height="552" id="image" />
<img src="images/other/2.png" width="398" height="552" id="image_alpha"/>
Sorry, your browser doesn't support canvas, please use Firefox3.6+, Safari5+, Chrome, IE9 etc.
</canvas>
</body>
</html>



也可以外部调用JS
// JavaScript Document
Main.js

var main ;
var context = null;
function loadImage() {
main = document.getElementById("maincanvas");
if(main == null)
return false;
context = main.getContext("2d");
drawImage();
}
function drawImage() {
var image = new Image();
image.src = "images/other/kboom.png";
image.onload = function() {
context.drawImage(image, 0, 0);
var imgd_alpha = context.getImageData(0, 0, 398, 552);
var pix_alpha = imgd_alpha.data;
for(var j = 3, n = pix_alpha.length; j < n; j += 4) {
pix_alpha[j] = pix_alpha[j] * 0.2;
}
context.putImageData(imgd_alpha, 0, 0);
};
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值