博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
canvas小案例集合(小画板、画的回放、刮刮乐)
阅读量:6685 次
发布时间:2019-06-25

本文共 1068 字,大约阅读时间需要 3 分钟。

  hot3.png

作者:汪娇娇

日期:2016.12.8

在现在这个公司呆了4个多月,也是研究了canvas将近4个月,前两周心里就痒痒的想写这方面的博客,但一直没时间。可一直拖着也不是个办法,就这样抽抽空来写吧。

canvas的常用方法我就不介绍了,主要是给大家展示几个常用的canvas案例,也是自己做过的一些小东西,希望能对大家有帮助吧。

案例一:小画板

这个应该是canvas最常用的案例之一了:小画板,也就是鼠标画画。PC端和手机端皆有兼容:

成果图:

205715_QYaK_2941696.png

代码如下:

小提醒:为了兼容手机端,记得加上viewport:

1、html代码:

    

2、css代码:

3、js代码:

注:我是提前引入jQuery的:

案例二:画的回放

方法:结合getImageData()和putImageData()

原理:通过 getImageData() 复制画布上的像素数据,然后通过 putImageData() 将图像数据放回画布。

getImageData()格式:

194601_ziMP_2941696.png

ImageData下面的data就是构成画布上的像素数据。

效果图如下:

195137_eR8I_2941696.png

以下代码仅以PC端为例:

1、html代码:

    

2、css代码:

3、js代码:

这是其中一个办法,还有一个办法就是通过存储坐标点,然后用定时器回放坐标点。方法类似,大家可以自己研究研究。

案例三:刮刮乐()

原理:ctx.globalCompositeOperation = "destination-out";

在源图像外显示目标图像。只有源图像外的目标图像部分会被显示,源图像是透明的。

效果图:

205609_iwI6_2941696.png

1、html代码:

	

2、css代码:

3、js代码:

思考:刮刮乐的方法可以延伸到彩色画笔,大家自己思考一下哈,如下图:

205534_Ifrq_2941696.png

canvas暂时就到这儿了,有问题可以在下面回复或私聊哈。

转载于:https://my.oschina.net/jojo76/blog/826586

你可能感兴趣的文章
APUE读书笔记-09进程关系(02)
查看>>
来南京工作两个月了!
查看>>
EDM邮件营销的七个基本原则
查看>>
dropna(thresh=n) 的用法
查看>>
Harbor镜像仓库漏洞扫描功能
查看>>
杂谈(20)写给妹妹的信-完整版
查看>>
边界在消失——2014年七大技术趋势预测
查看>>
综合考虑各系统的平衡——中科曙光数据中心产品事业部总经理沈卫东谈云数据中心节能...
查看>>
MongoDB +node.js图片读取服务
查看>>
关于jmeter里的自动重定向的使用-小强性能测试培训班学生作品
查看>>
我的友情链接
查看>>
将CDM中所有以Relatonship_开头的关系全部重命名,避免生成数据库因为重复关系名报错...
查看>>
C++ 标准库之algorithm
查看>>
系统限制和选项limit(一)
查看>>
Boson 6.0 试验笔记一
查看>>
隐藏滚动条 但是可以滚动
查看>>
PHP 文件操作的各种姿势
查看>>
Javascript语言精粹之正则表达式知识整理
查看>>
pymysql模块
查看>>
[转] 钉钉的H5性能优化方案
查看>>