用代码来实现一下中彩票的快乐

“我只是想中个彩票一辈子不用不上班而已,很过分吗,又不是想要天上的星星”。

实现步骤

首先根据实现效果创建相应的结构,给刮刮乐画设置背景图片,让它看起来美观。

实现效果:

hml代码:

xxx.hml{{prize}}text>canvas>div>div>div>

css代码部分:

.container{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;background-color:#284243;font-family:sans-serif;}/*设置刮奖背景*/.card{width:300px;height:300px;background-image:url(/common/images/guaguale.png);background-size:cover;justify-content:space-around;align-items:center;flex-direction:column;}.prize-box{margin-left:5%;margin-top:33%;width:202px;}/*开奖区域样式*/.text{text-align:center;position:absolute;width:202px;height:43px;background-color:#fff;z-index:1;font-size:18px;font-weight:600;}/*刮刮乐涂层*/.canvas{z-index:2;}

完成后实现的效果。

通过ctx.fillRect方法实现矩形区域的涂层填充,将画布变为灰色;通过ctx.font设置字体大小。

ctx.fillText实现涂层上方文字效果,ctx.fillStyle实现文字颜色设置。在onShow处进行调用就能实现基础的涂层效果了。

效果图如下:

注意:这里在onInit处调用函数不能成功展示出画布,在onShow时调用才显示成功。

xxx.jsonShow(){this.draw();},draw(){varel=this.$refs.canvas;varctx=el.getContext('2d',{antialias:true});this.el=elthis.ctx=ctx//填充的颜色ctx.fillStyle='gray';//填充矩形fillRect(起始X,起始Y,终点X,终点Y)ctx.fillRect(0,0,202,43);this.ctx.fillStyle='#000';//绘制填充文字this.ctx.font="28px";this.ctx.fillText('刮开有奖',50,30);},

给canvas画布上绑定触摸事件,在触摸时计算触摸点的位置,以触摸点的坐标为圆心,进行圆形区域的擦除。

触摸点坐标计算:通过触摸事件得到一个对象,将对象进行解析会得到对应的值,对数据进行处理,拿到触摸点的X,Y坐标点。

调用ctx.arc方法进行画圆,选中圆形区域进行消除。

xxx.hmlref="canvas"style="width:202px;height:43px;"@touchstart="touchstart"@touchmove="touchmove"@touchend="touchend"@touchcancel="touchcancel"class="canvas">

xxx.jstouchstart(){this.isDraw=true;},touchmove(e){letx=JSON.stringify(e.touches)//去掉中括号,将其变成对象letx1=x.replace(/[|]/g,'')letx2=JSON.parse(x1)letx3=JSON.stringify(x2)//计算触摸点位置letX1=parseInt(JSON.parse(x3).localX)letY1=parseInt(JSON.parse(x3).localY)this.ctx.globalCompositeOperation='destination-out';//画圆this.ctx.arc(X1,Y1,10,0,2*Math.PI);console.log('6666666')//填充圆形this.ctx.fill();},touchend(){this.isDraw=false;},touchcancel(){this.isDraw=false},

计算刮过区域的面积:使用ctx.getImageData方法得到整个区域的图像信息。

getImageData()方法返回ImageData对象,该对象拷贝了画布指定矩形的像素数据。

对于ImageData对象中的每个像素,都存在着四方面的信息,即RGBA值:

color/alpha以数组形式存在,并存储于ImageData对象的data属性中。

通过判断像素点的A值是否为0来判断已经刮过的区域进行计算,最终将计算出的区域面积与总面积进行对比来设置刮除区域超过多少百分比时进行清除整个区域。

通过调用ctx.clearRect方法来进行整个区域的清除。

//计算已经刮过的区域占整个区域的百分比getFilledPercentage(){letimgData=this.ctx.getImageData(0,0,this.mWidth,this.mHeight);//imgData.data是个数组,存储着指定区域每个像素点的信息,数组中4个元素表示一个像素点的rgba值letpixels=imgData.data;lettransPixels=[];for(leti=0;i4){//需要判断像素点是否透明需要判断该像素点的a值是否为0if(pixels[i+3]==0){transPixels.push(pixels[i+3])}}return(transPixels.length/(pixels.length/4)*100).toFixed(2)+'%'},//设置阈值,去除灰色涂层handleFilledPercentage(percentage){percentage=percentage||0;console.log('percentage='+percentage)if(parseInt(percentage)>50){//去除画布方法一:直接将canvas涂层清除this.ctx.clearRect(0,0,this.mWidth,this.mHeight)console.log('清除画布')//方法2:将canvas涂层设置为透明//this.ctx.fillStyle='rgba(255,255,255)';//this.ctx.fillRect(0,0,this.mWidth,this.mHeight)}},

THE END
1.SSM彩票售卖系统490c1文章浏览阅读1k次,点赞18次,收藏19次。随着信息技术的飞速发展和人们娱乐需求的日益增长,彩票作为一种广受欢迎的娱乐方式,其销售模式也逐渐向数字化、智能化方向转变。开发一个高效、安全、便捷的彩票售卖系统,不仅能够满足广大彩民的购彩需求,还能提升彩票销售的管理https://blog.csdn.net/ck3013/article/details/143963324
2.一个java开发的彩票系统此系统是用java语言开发的彩票管理系统,适合初学者学习使用。主要是练习数据库的操作。https://www.iteye.com/resource/hbgyjs98235-2064666
3.C语言C语言运行程序后,系统将提示输入生成的彩票数量。 生成彩票 输入需要生成的彩票数量(最多100张),系统将随机生成相应数量的彩票,每张彩票包含7个号码,范围在1到36之间。生成的彩票号码将立即展示。 源码获取 关注【测试开发自动化】公众号,回复 “ 体彩模拟 ” 获取。 https://developer.aliyun.com/article/1581267
4.基于java的彩票选号系统的二次开发项俊杰基于java的彩票选号系统的二次开发 引言:在网上看到了一个较为简易的基于java的彩票选号系统,其主要通过后台生成中奖号码,用户选择并输入号码的方式进行,界面设计较为的简陋,源代码也只实现了较为基础的功能,并存在一些问题,比如用户输入错误时的逻辑问题;故而我在源代码的基础上进行了一定的界面美化和功能的补全,https://www.cnblogs.com/xiangjunjie/p/18056033
5.彩票源码资源网,彩票源码资源网彩票源码资源网致力于提供高质量的彩票开发技术及定制化服务,为客户打造专业、安全的彩票软件平台。 ,理想股票技术论坛https://www.55188.com/topics-5838338.html
6.佛萨奇2.0Metaforce矩阵模式系统开发(源码搭建)规则解析而2.0版本MetaForce的诞生,正是为了弥补Forsage的不足。首先是迁移到了Matic链上,更加便宜的GAS费,不会成为会员进场的负担;更加便捷的系统开发【-V|TG——《ch3nguang》】,优化了一些细节(比如自动升级)。Meta force矩阵定义: 在没有推广的时候,你所购买的每一个矩阵并不是投资,而是一张张不用重复购买并且为你https://www.meipian.cn/4y1m0ls4
7.智能手机彩票客户端交互软件设计与开发智能手机彩票客户端交互软件设计与开发,彩票,人机交互界面设计,提升用户体验,彩票作为财政融资的一种独特方式,实现了资金的由小变大,积少成多,已发展成为一种全球性产业。人们在购买彩票献爱心的同时,也具有https://wap.cnki.net/lunwen-1012453671.html
8.大地彩票销售系统源码asp.net版v5.0源码下载大地彩票销售系统源码 asp.net版 v5.0,大地彩票软件程序基于ASP.NET页面,java核心,以及mssql和mysql数据库的互联网彩票系统,具有良好的跨平台性,是一套完善的互联网彩票在线销售门户网站解决方案https://www.jb51.net/codes/418204.html
9.数学建模基于matlabGUI彩票仿真系统含Matlab源码1501期完整代码已上传我的资源:【数学建模】基于matlab GUI彩票仿真系统【含Matlab源码 1501期】 二、案例简介 1 任务名称 彩票仿真系统的设计与实现 2 任务目标 设计一个购买机选彩票的仿真系统,该系统至少可以提供三种彩票种类,分别为双色球、3D和31选7(可自行设计,不限于这几个)。用户选择好彩票种类,输入要购买的彩https://blog.51cto.com/u_15324424/4586777
10.GitHub使用ES6开发复杂度较高的彩票项目,完整的开发项目流程,掌握如何最佳的发挥ES6优势. Contribute to bxm0927/lottery development by creating an account on GitHub.https://github.com/bxm0927/lottery
11.反波胆汁源代码APP开发统软云APP开发APP开发防喘振罐平台源代码APP开发【叶灿I37电气8348 Wei I760】防喘振槽系统软件开发、防喘振箱平台开发APP、防喘震箱模式开发APP和防喘振系统开发 淘金足球板块开发 文件用途 足球彩票节是爱https://www.unisoft.cn/service/app/bc31741dd46d7a3a.html
12.彩票门户网站源码彩票门户网站源码酷彩网源码彩票门户网源码 带在线支付功能和自动采集 带wap手机网站后台功能十分的强大后台:/admin/Login.asp用户名:admin密:admin888https://www.coder100.com/index/index/content/id/892515
13.彩票源码带教程.zip开发实例源码下载您当前所在位置:首页 → Others 开发实例→ 一般编程问题→ 彩票源码带教程.zip彩票源码带教程.zip一般编程问题下载此实例 开发语言:Others 实例大小:84.38M下载次数:111浏览次数:3732发布时间:2021-02-13实例类别:一般编程问题发布人:好学IT男 文件格式:.ziphttps://www.haolizi.net/example/view_178613.html
14.2022PHP彩票源码首发关注作者,阅读全文 c 还有50%的精彩内容,作者设置为仅对粉丝可见 会说源码 官网,www.husohua.com +关注 来自专栏:会说资源网 共2248 篇 上一篇 无更多内容 无更多内容 下一篇 推荐阅读 换一换 查看更多转发 评论 快速开通微博你可以查看更多内容,还可以评论、转发微博。https://weibo.com/ttarticle/p/show?id=2309404737535544000593
15.无限一番赏小程序APP软件定制开发源码搭建动漫主题无限一番赏小程序APP软件定制开发源码搭建动漫主题 什么是奖励? 如何玩一番赏? 地衣抽奖时需要注意什么? 想要入坑的朋友,心里一定有十万个理由。 别担心,河南灵驰网络科技张经理将为您详细解答。 什么是奖励? 与彩票游戏、轮播抽奖等普通彩票游戏不同,一番赏的奖池有限且透明,只要参与就可以100%中奖。 区别在于奖品的https://m.bjhwtx.com/h-nd-48543.html
16.酷睿彩票合买代购网站管理系统–资源分享网源码简介 酷睿彩票合买代购网站系统由德阳市酷睿科技有限公司独立开发,完全拥有软件自主知识产权。具有电脑Web、手机WAP、Android、IOS、微信网站等全网覆盖解决方案,是目前国内彩票互联网销售系统中彩种类型最全、玩法最多、功能最强、用户体验最好、最安全稳定的彩票O2O与C2C运营模式系统;本系统基于ASP+MSSQL+jQuery+AJAXhttps://www.ziyuan.tv/12845.html
17.2020最新酷睿在线彩票系统带合买功能wap版可封装app支持全国全网独家首发的酷睿彩票系统,网页前端采用全新的Linux+PHP7+MySQl+NodeJS+Redis+Vue+LayUI等语言及框架开发,数据库采用全新的MySql,全新架构,速度更快、功能更强、稳定性更好、安全性更高,全新的UI设计更简洁、清爽、大气,支持合买功能,带WAP模板,源码不多介绍了,大家看图就好了 这套源码其实很早就流出来了,之前https://www.zyfx8.cn/4814.html/