改變封面圖片透明度發現隱藏的圖像我寫了一些簡單的代碼來改變封面圖片的透明度,揭示隱藏的圖片下it.there兩個帆布一個在other.both的頂部是500x500.both的畫布有一個圖像。在這裏我改變了鼠標移動事件的封面圖像的不透明度,以便隱藏圖像可見。我使用e.layerX/Y獲取座標。我可以管理一個像素一個像素的不透明度操作使用這不是用戶友好通過鼠標移動事件
function change_opacity(e){
if(checked){
var imageData=ctx2.getImageData(e.layerX,e.layerY,10,10);
for(i=3;i<imageData.data.length;i+=4){
imageData.data[i]=0;
}
ctx2.putImageData(imageData,e.layerX,e.layerY);
}
}
我希望它做的不透明度變化對每個鼠標移動一定的圓形截面。我怎樣才能做到這一點?
全碼:
<html>
<head>
<style>
*{margin:0px;padding:0px;}
#canvas1{
position:absolute;
top:51px;
left:200px;
border:1px solid black;
}
#canvas2{
position :absolute;
top:50px;
left:200px;
border:1px solid black;
}
</style>
</head>
<body>
<canvas id="canvas1" width="500" height="500"></canvas>
<canvas id="canvas2" width="500" height="500"></canvas>
<script>
function makeit(){
var checked=false;
var canvas1=document.getElementById('canvas1');
var canvas2=document.getElementById('canvas2');
var ctx1=canvas1.getContext('2d');
var ctx2=canvas2.getContext('2d');
var img1=new Image();
img1.src="car1.jpg";
img1.onload=function(){
ctx1.drawImage(img1,0,0);
}
var img2=new Image();
img2.src="car2.jpg";
img2.onload=function(){
ctx2.drawImage(img2,0,0);
}
canvas2.addEventListener('mousedown',check,false);
canvas2.addEventListener('mousemove',change_opacity,false);
canvas2.addEventListener('mouseup',uncheck,false);
function check(){
checked=true;
}
function uncheck(e){
checked=false;
}
function change_opacity(e){
if(checked){
var imageData=ctx2.getImageData(e.layerX,e.layerY,10,10);
for(i=3;i<imageData.data.length;i+=4){
imageData.data[i]=0;
}
ctx2.putImageData(imageData,e.layerX,e.layerY);
}
}
}
window.onload=makeit;
</script>
</body>
</html>
thanks.i已經編輯我的post.actuallly在我的代碼10X10的矩形得到其不透明度change.i想改變每一個鼠標移動圓形截面的透明度event.can不能做到呢? –
是的,有可能......看到我編輯的答案。 – markE
這真棒..感謝:)) –