最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

h5canvas实现刮刮乐效果代码

来源:懂视网 责编:小采 时间:2020-11-27 15:09:25
文档

h5canvas实现刮刮乐效果代码

h5canvas实现刮刮乐效果代码:canvas实现刮刮乐主要是要注意两个地方:第一个是将绘制的图形设置成背景图片(用到toDataURL属性),这样在擦覆盖层的时候才不会丢失绘制的图案,第二个是设置在绘制插图的时候,设置透明透明(用到globalCompositeOperation属性)代码如下:<sc
推荐度:
导读h5canvas实现刮刮乐效果代码:canvas实现刮刮乐主要是要注意两个地方:第一个是将绘制的图形设置成背景图片(用到toDataURL属性),这样在擦覆盖层的时候才不会丢失绘制的图案,第二个是设置在绘制插图的时候,设置透明透明(用到globalCompositeOperation属性)代码如下:<sc
canvas实现刮刮乐主要是要注意两个地方:第一个是将绘制的图形设置成背景图片(用到toDataURL属性),这样在擦覆盖层的时候才不会丢失绘制的图案,

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

canvas实现刮刮乐0

代码如下:

<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.fillStyle="#eee";
 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>

【相关推荐】

1. 特别推荐:“php程序员工具箱”V0.1版本下载

2. 免费h5在线视频教程

3. php.cn原创html5视频教程

文档

h5canvas实现刮刮乐效果代码

h5canvas实现刮刮乐效果代码:canvas实现刮刮乐主要是要注意两个地方:第一个是将绘制的图形设置成背景图片(用到toDataURL属性),这样在擦覆盖层的时候才不会丢失绘制的图案,第二个是设置在绘制插图的时候,设置透明透明(用到globalCompositeOperation属性)代码如下:<sc
推荐度:
标签: 实现 代码 效果
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top