博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
canvas绘画常用方法
阅读量:5127 次
发布时间:2019-06-13

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

先说一下canvas元素比较有用的方法主要是canvas通过getContext()方法获取的上下文对象。canvas的坐标原点(0,0)是左上角。

其次设置颜色方面,通常有四种方法:16进制颜色值、英语单词、rgb、rgba。主要注意的是后两者,rgb的三个参数是红绿蓝0-255的值,rgba在此基础上添加了第四个参数透明度,范围0-1。

1.画线

   

    

 

2.画矩形

    

JavaScript已经是所有浏览器的默认脚本语言,因此<script>标签中无需再指定脚本类型。

3.画圆

    

4.写字

    
textBaseline和textAlign特点可以查看其他资源,就不在这混乱主题了。

5.将画保存

window.location = canvas.toDataURL('image/jpeg'); //保存图像

可以选择自己想要的格式。

6.填充和擦除实现动画

模拟一个进度条动态从左向右移动,就需要每隔一段时间画一点,使用了setInterval方法。类似思想可以使用contex.clip()方法,剪切。

    
 
介绍一下location对象的属性中有两类定时器,一类是一次性如setTimeout,一类是周期性如setInterval。在除IE之外的浏览器中,支持在这两个方法的第三个参数位置起添被调用函数的参数,即setInterval(func,time,param1,param2...)。而IE不支持这种做法,我就把js代码改写成下面形式,使IE中显示同样的效果。
 
//动画        var i=0;        function drawAnimation(){
context.fillStyle = "gray"; setInterval(painting,100); } function painting(){ var canvas = document.getElementById('canvas'); var context = canvas.getContext('2d'); context.fillRect(i,0,10,10); i=i+20; }

 7.坐标变换

  • 平移 context.translate(x,y) 将默认的坐标系源点盐x轴y轴分别移动指定单位长度
  • 坐标缩放 context.scale(x,y) x,y是缩放的陪数
  • 坐标旋转 context.rotate(angle) 旋转一定角度,angle负时逆时针旋转

坐标变换的几个方法可以实现更炫的动画效果,如下图的动态时钟,详细做法可见《canvas动态时钟》http://www.cnblogs.com/feitan/p/5160165.html。

转载于:https://www.cnblogs.com/feitan/p/5137325.html

你可能感兴趣的文章
WPF 4 日期选择器(DatePicker)
查看>>
20几个正则常用正则表达式
查看>>
TextArea中定位光标位置
查看>>
非常棒的Visual Studo调试插件:OzCode 2.0 下载地址
查看>>
判断字符串在字符串中
查看>>
hdu4374One hundred layer (DP+单调队列)
查看>>
AttributeError: 'module' object has no attribute 'X509_up_ref'
查看>>
Web长连接推送
查看>>
oracle定时器执行一遍就不执行或本就不执行
查看>>
ossim
查看>>
最大流问题的几种经典解法综述
查看>>
2 -8 字典dict
查看>>
无限级分类和循环渲染
查看>>
[APIO2015]巴邻旁之桥
查看>>
动态规划(最长上升子序列)
查看>>
Dispatcher
查看>>
md5加密举例
查看>>
android studio引入第三方包记录
查看>>
Javascript 中的神器
查看>>
Python之celery
查看>>