你的位置:首页 > 网页设计

[网页设计]canvas实现刮刮乐


 

canvas实现刮刮乐主要是要注意两个地方:第一个是将绘制的图形设置成背景图片(用到toDataURL属性),这样在擦覆盖层的时候才不会丢失绘制的图案,

第二个是设置在绘制插图的时候,设置透明透明(用到globalCompositeOperation属性)

代码如下:

<script>
var arr=[
{name:"iphone7 磨砂黑",color:"rgba(255,255,0,1)"},
{name:"iphone7 磨砂黑",color:"rgba(0,255,0,.9)"},
{name:"iphone7 磨砂黑",color:"rgba(10,255,255,1)"},
{name:"iphone7 磨砂黑",color:"rgba(10,255,100,1)"}
]
var r=Math.random();
var rIndex= Math.floor(r*arr.length);
var rPrice=arr[rIndex];
var cv=document.getElementsByTagName('canvas')[0];
var isDown=false;
cv.height=400;
cv.width=600;
var ctx=cv.getContext("2d");
function toAngle(radian){
return radian/Math.PI*180;
}
function toRadian(angle){
return angle/180*Math.PI;
}
ctx.textAlign="center";
ctx.textBaseline="middle";
ctx.font="30px consolas";
ctx.fillStyle=rPrice.color;
ctx.fillText(rPrice.name,cv.width/2,cv.height/2);

var dataURL=cv.toDataURL("image/jpg",1);
cv.style.background="url("+dataURL+")";

//覆盖层
ctx.beginPath();
ctx.fill;
ctx.fillRect(0,0,cv.width,cv.height);

cv.addEventListener("mousedown",function(){
isDown=true;
})
cv.addEventListener("mouseup",function(){
isDown=false;
ctx.globalCompositeOperation="source-out"
})
cv.addEventListener("mousemove",function(e){
if (isDown){
ctx.globalCompositeOperation="destination-out";
ctx.beginPath();
var posObj=cv.getBoundingClientRect();

var left=posObj.left;
var top=posObj.top;

var x= e.clientX-left;
var y= e.clientY-top;

ctx.arc(x,y,50,0,Math.PI*2);
ctx.fill();
}
})
</script>

 




到丹麦旅游团购去丹麦旅游攻略丹麦六日游行程安排参考去丹麦旅游跟团行程丹麦旅游护照签证亚洲论坛永久会址好玩吗?博鳌亚洲论坛永久会址怎么样? 大云雾山几点开门?云浮大云雾山开门时间? 大云雾山门票价格?云浮大云雾山门票多少钱? 武汉天地游逛指南 脚尖上的成绵乐 吃喝玩乐High到底 香港新鸿基地产旗下商场美酒佳肴月畅享指南[三] 圣克里斯蒂娜系列葡萄酒 风靡意大利七十年[二] 雪花啤酒探秘瞿湖古道 开启千年记忆文脉之旅(组图) 中秋节南宁海底世界有节目表演吗?广西南宁海底世界中秋节门票多少钱? 南宁海底世界中秋节有什么好玩的?中秋节广西南宁海底世界晚会项目? 2015中秋节南宁海底世界活动介绍?广西南宁海底世界中秋节优惠吗? 南宁海底世界中秋节晚会时间?中秋节广西南宁海底世界节目演几天? 水下脱衣舞夜总会?全球七大水下奇景建筑 苯教圣地 东女国古韵 神奇金川 巴马赐福湖门票预约电话?赐福湖长寿岛预约优惠价? 巴马赐福湖怎么样?赐福湖长寿岛有什么好玩的? SFH4250S Datasheet SFH4250S Datasheet SFH4252 Datasheet SFH4252 Datasheet SFH4253 Datasheet SFH4253 Datasheet 广州中山纪念堂 广州中山纪念堂 广州中山纪念堂 深圳野生动物园门票 深圳野生动物园门票 深圳野生动物园门票 香港区号多少 香港区号多少 香港区号多少