nvas是定义在浏览器上的画布。它不仅仅是一个标签元素更是一个编程工具是一套编程的接口。利用它可以开发出很多东西,比如动画,游戏,动态的图表等富有变现力和感染力的应用。还可以开发出绚丽的3D动态效果。接下来我们一起学习!

一、 创建canvas

 1  2  3  4  5  6  7  8 canvas基础 9 10 11 12 13 14 15 

看一下现在的效果:

除了上述代码那样指定canvas的宽高,还可以在js中这样指定:

1 var canvas = document.getElementById('canvas');2 3 canvas.width = 700;4 canvas.height = 400;

这样边框内就是一个画布了,接下来我们就可以在这画布里进行绘制了。

二 、 画一条线段

 1 

看一下效果图:

三 、 画一个三角形并着色

 1 

效果图:

四 、 绘制两个图形

 1 

效果图:

五 、 绘制一个七巧板

 1 

效果图:

六 、 绘制一段弧

 1 

context.arc各参数的含义:

1   context.arc(2 centerx , //圆心的x轴坐标位置3 centery, //圆心的y轴坐标位置4 radius, //圆弧半径的值5 startingAngle, //以哪个弧度制开始6 endingAngle, //在哪个弧度制结束7 anticlockwise=false //顺时针方向绘制,为true则逆时针。默认为顺时针。8 )

效果图:

改为逆时针的话,在context.arc里面添加参数true

context.arc(300, 300, 200, 0, 1.5 * Math.PI,true);

效果图:

七 、 绘制多段弧 和 着色

 1 

效果图:

可以看出绘制多个弧也是使用beginPath()closePath()。但是绘制出来的弧自动的把首尾连接起来了,成了一个封闭的弧。这是因为closePath()的原因,如果想只是展示不封闭的弧,只需要把context.closePath()这段代码去掉就行。beginPath()closePath()并不一定成对出现。填充的时候,有closePath()和没有closePath()效果是一样的。

多个canvas画布合并_canvas的基础入门相关推荐

  1. 前端实现可绘制的canvas画布_前端图形学基础(五)——Canvas状态管理

    点击右上角的关注,不定期前端干货分享!! 欢迎来到我的前端图形学系列文章: 前端图形学基础(一)--Canvas基础入门 前端图形学基础(二)--Canvas基础 前端图形学基础(三)--Canvas ...

  2. three - 3 - 基础知识(1. three渲染结构,2.对canvas 进行响应式布局,3.让canvas 画布自适应设备分辨率 )

    本章节分为3点: 理解three.js 的渲染结构 对canvas 进行响应式布局 让canvas 画布自适应设备分辨率 canvas 画布的css尺寸和像素尺寸 1.three.js 的渲染结构 接 ...

  3. html5 canvas 画布基础

    canvas 画布基础 学习整理的笔记,内容丰富 有绘制矩形,绘制线条,绘制二次贝塞尔曲线,绘制弧线等.知识点在代码注释中 效果图: 代码: <!DOCTYPE html> <htm ...

  4. canvas 文字颜色_Canvas技术概述

    Canvas简介 在学习一项新技术之前,先了解这项技术的历史发展及成因会帮助我们更深刻的理解这项技术. 历史上,canvas最早是由Apple Inc. 提出的,在Mac OS X webkit中创建 ...

  5. js实现图片虚化_js canvas画布实现高斯模糊效果

    最近项目中有一个需求是实现图片的局部模糊效果,看上去一个挺难的效果.在实现局部模糊效果前,首先能够实现全部模糊.经过和度娘的一番较劲后,找到了一个不错的案例,然后在他的基础上,经过一番修改,和备注,实 ...

  6. js将文字填充与canvas画布再转为图片

    需求:封装consul服务的webUI: 原因:展示consul的服务信息时,需要嵌套动画,由于其没有内置的icon,所以将服务name放于图片位: 分析:展示信息时采用了卡片式的服务布局,缩放式的服 ...

  7. 更新——Canvas画布动画效果之实现倒计时

    Hello,大家好! 小W复活啦!继续欢乐的给大家更博,输送新知识~~ 不开玩笑啦!秒进正题~~~ 上次更博,小W给大家介绍了Canvas画布的基础部分,以及实现了一个由7*10点阵图显示的倒计时的基 ...

  8. HTML5 API详解(12):canvas画布API提供的内容很丰富啊~

    不考虑代码质量的话,一般来说css3>canvas>纯js. 1. css3动画是独立与js线程的,js的运算操作不会阻塞css3的动画,所以在系统cpu占用率较高的时候,css3的动画性 ...

  9. selenium webdriver 实现Canvas画布自动化测试

    https://blog.csdn.net/xiaoguanyusb/article/details/80324210 由借鉴意义, 转过来 canvas 是一个画布,定位元素时只能定位到画布上,如下 ...

最新文章

  1. 【ACL 2020】腾讯AI Lab解读三大前沿方向及入选的20篇论文
  2. java .classpath配置_轻松玩转Java配置的Classpath
  3. java类的定义的实例_Java类的定义与实例化
  4. 用BlazeMeter录制JMeter测试脚本
  5. vue 后端返回二进制流文件,前端如何实现下载?
  6. 推荐一个非常好玩的falsh游戏
  7. 极客技术专题【003期】:java mvc 增删改查 自动生成工具来袭
  8. 漏洞复现——Apache HTTPD多后缀解析漏洞
  9. iOS开发:Pokemon Go试玩,未越狱的iPhone伪造GPS定位信息
  10. U盘检测及量产工具大合集
  11. 黑苹果以太网网卡已安装 无法上网
  12. 五百丁简历下载的一种方法
  13. Pytorch版Lookahead使用及遇到的问题
  14. debian系统简单介绍
  15. 对往届软件工程的思考——写在软件工程开课之际 by 姜健
  16. 小柯-java 进阶
  17. [解疑][TI]TI毫米波雷达系列(三):调频连续波雷达回波信号3DFFT处理原理(测距、测速、测角)
  18. 如何在网页标题左边添加ico图片
  19. Bootstrap-CL:标签
  20. 杭州银行批量交易平台(HZBAT)技术内幕

热门文章

  1. 怎么用python做战斗机_关于python文件操作
  2. 求1+2!+3!+......+20!的和
  3. AJAX 信息查询管理
  4. android 手机号码显示加空格,Android实现输入手机号时自动添加空格
  5. vue、cnpm不是内部文件_安装了vue-loader vue-template-compiler成功后运行 vue-loader -V提示不是内部文件...
  6. 3D物体识别的假设检验
  7. idea创建web项目运行报404错误_使用IDEA新建Web工程启动报404的错误
  8. mysql group by null_MySQL无GROUP BY直接HAVING返回空的问题分析
  9. ios uiview 如何刷新_ios-如何在Swift中刷新imageview而无需重新加载页面?
  10. 关于web服务器性能书籍,图书商城系统的Web服务器性能优化研究与实现