刮刮卡制作过程_微信怎么制作刮刮卡

刮刮卡制作过程_微信怎么制作刮刮卡刮刮卡demo图样1.刮开涂层的绘制可以是画图,把涂层画上去varimageObj=newImage();imageObj.onload=function(){context.drawImage(imageObj,x,y,width,height);};imageObj.src=’path/to/my/image.jpg’;可以是是画灰色的区域co…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

刮刮卡demo图样

1073007-20180606151407973-408469812.gif

1.刮开涂层的绘制

可以是画图,把涂层画上去

var imageObj = new Image();
imageObj.onload = function() {
  context.drawImage(imageObj, x, y, width, height);
};
imageObj.src = 'path/to/my/image.jpg';

Jetbrains全家桶1年46,售后保障稳定

可以是是画灰色的区域

context.rect(x, y, width, height);
context.fill();
context.stroke();

2.刮开图像的绘制

需要用到canvas的这个属性globalCompositeOperation ,合并图像。
画一个新的源图像到已经画好的目标图像上面。利用destination-out值达到下面的效果,就像是擦去目标图像的图案一样。
1073007-20180606150824548-1793841347.png

context.globalCompositeOperation = 'source-atop|source-in|source-out|source-over|destination-atop|destination-in|destination-out|destination-over|lighter|xor|copy';

3.事件设置思路

有三个事件回调方法,down_fn,move_fn,up_fn.
当按下事件触发的时候,开关打开,同时设置移动事件和松开事件
然后当松开事件触发的时候就移除三个事件的设置。

注意

  • 1.需要在开始做一个回调事件执行一次的开关处理,当第一次移动的时候就触发回调,并且关闭开关,避免每次移动都会触发回调事件
  • 2.canvas的globalCompositeOperation属性需要在每次绘制完圆的时候,再重置回默认属性,否则二次绘制的时候绘制上去的是透明的图层
  • 3.文字需要做居中处理,可以使用textAlign做水平居中处理或者textBaseline做垂直居中处理

附录链接

  1. HTML5画布速查表

转载于:https://www.cnblogs.com/flora-dn/p/9145217.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/209941.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Mac os 查看PDM文件[通俗易懂]

    MacOS没有查看PDM文件的工具,PowerDesigner只有windows版本,无Mac版,在Mac上查看PDM文件非常不方便,或者装双系统,非常麻烦,现在有了ParsePDM工具,就不用担心了.ParsePDM需要依赖JDK1.7,机器如果没有安装,请到官网下载相应的版本,进行安装.下载连接:http://download.

    2022年4月12日
    268
  • 软件测试常见面试题_软件测试面试题汇总

    软件测试常见面试题_软件测试面试题汇总Ⅰ.一个Bug1. 一条软件缺陷(或者叫Bug)记录都包含了哪些内容? 如何提交高质量的软件缺陷(Bug)记录?一条Bug记录最基本应包含:编号、Bug所属模块、Bug描述、Bug级别、发现日期、发现人、修改日期、修改人、修改方法、回归结果等等;要有效的发现Bug需参考需求以及详细设计等前期文档设计出高效的测试用例,然后严格执行测试用例,对发现的问题要充分确认肯定,然后再向外发布如此才能提高提交B…

    2022年8月27日
    0
  • 图解 MySQL 索引 —— B-Tree、B+Tree「建议收藏」

    图解 MySQL 索引 —— B-Tree、B+Tree

    2022年2月13日
    50
  • 51单片机毕业设计题目_51单片机经典项目

    51单片机毕业设计题目_51单片机经典项目STC12C5A60S2DS12887单片机毕业设计51单片机项目数码管显示的合成出租车计价器设计Synthetictaximeterdigitaldisplaydesign学生姓名: 学生学号: 10700121专业名称: 电子信息工程指导教师:计算机与信息工程学院2014年6月13日独创性声明本人声明所呈交的毕业设计(论文)是本人在指导教师指导下进行的研究工作和取得的研究成果,除了文中特别加以引用标注之处外,论文中不包含其他人已经发表或撰写过的研究成果,没有伪造数据的

    2022年10月3日
    0
  • ftp客户端发起对ftp服务器_ftp登陆命令

    ftp客户端发起对ftp服务器_ftp登陆命令FTP是一个C/S类型的软件,连接服务端需要FTP客户端才能完成,常见的FTP客户端有以下几种:浏览器:可以通过浏览器中输入ftp://ip或者ftp://域名的方式3分钟了解计算机发展历史-组团学来访问FTP自带客户端:命令行下可以使用ftp命令去连接三方客户端:FileZilla8uftp图形软件或者文本界面的lftp等三种方式中,文本界面是比较麻烦的,无法鼠标流。所以我重点给大家讲解一…

    2022年10月21日
    0
  • jsonobject转换成对象_jsonobject转jsonarray

    jsonobject转换成对象_jsonobject转jsonarrayJSONObjectobj=newJSONObject();{obj.put("key1","value1");obj.put("key2","value2");obj.put("key3","value3");}Map<String,String>params=JSONObject.parseObject(obj.toJSON

    2022年8月23日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号