在画布上,首先使用JavaScript的HTML DOM方法查找元素,在使用getContext()方法创建绘图对象,最后使用HTML DOM Canvas 对象的属性和方法绘制图形。

HTML5元素创建的画布只是用来承载图形的,是一个容器;我们还必须使用脚本(通常是JavaScript)来实际动态的绘制图形。那么如何使用JavaScript在画布上绘制图形?本篇文章就给大家具体介绍一下,希望对你们有所帮助。

创建画布

在介绍如何绘制图形前,我们首先要使用元素创建一个画布:

当前的浏览器不支持HTML5 canvas标记。

设置画布的大小为:宽400px、高200px,添加一个2px的红色、实线边框;在给创建好的画布一个id="myCanvas"值,方便在下面绘制图形是找到画布元素。

效果图:

使用JavaScript在画布上绘制图形

下面我们就来介绍一下如何在画布上绘制图形:

1、找到画布元素

我们在绘制图形时,首先是需要找到需要绘制图形的画布,即元素。那么如何找到画布元素?

其实很简单,可以通过使用HTML DOM方法getElementById()来完成,例:var canvas = document.getElementById("myCanvas");// 找到画布元素

在之前创建画布时,我们给画布添加了id="myCanvas"的值,现在就可以通过这个ID值来查找元素。

2、配置绘图的环境,创建绘图对象

getContext()方法可以返回一个用于在画布上绘图的环境,当前唯一的合法值是 "2d",会指定一个二维绘图环境;在未来可能会扩展到支持 3D 绘图。例:var ctx = canvas.getContext("2d");

使用ctx 对象,就可以在HTML5画布中绘制图形了。

3、在画布上绘制图形

此时,就可以使用JavaScrip支持的HTML DOM Canvas 对象的属性和方法来绘制图形了。下面我们就通过一些简单的例子来看看如何绘制图形:

示例1:在画布上绘制简单的直线

var canvas = document.getElementById("myCanvas");

var ctx = canvas.getContext("2d");

ctx.beginPath(); // 意思是开始绘制

ctx.moveTo(0,0);

ctx.lineTo(300,200);

ctx.stroke();

可以看出,使用好几种canvas对象的方法,下面我们来介绍一下:

beginPath()方法:定义开始路径,或重置当前路径;表示开始开始绘制。

moveTo(x,y)方法:用于定义直线的起点位置。

lineTo(x,y)方法:用于定义直线的终点位置。

stroke()方法:实际绘制定义的路径。

效果图:

示例2:在画布上绘制简单的圆形

var canvas = document.getElementById("myCanvas");

var ctx = canvas.getContext("2d");

ctx.beginPath();

ctx.arc(95,50,40,0,2*Math.PI);

ctx.stroke();

使用了arc()方法,可以创建弧或曲线,可以用于绘制圆或部分圆。

效果图:

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。

如何运用html在画布上画画,如何使用js在画布上绘制图形相关推荐

  1. vue php 文件上传,使用vue.js和laravel上传文件

    我尝试在vue.js和laravel中上传pdf文件,files_array是这样定义的:data(){ return { formData: new Form ({ files_array:'', ...

  2. 返回上一级刷新页面 Js实现返回上一页(页面 刷新和不刷新)

    返回上一页不刷新: 1.a标签 <a href="<a href="javascript :history.back(-1)">返回上一页</a& ...

  3. 如何用计算机进行绘画,如何在电脑上画画

    如何在电脑上画画 在电脑上画画教学目标: ⒈了解电脑上作画的原理,并能熟练地识别和会用数对表示方格纸上的位置,并依次将点连线作画. ⒉进一步体会数形对应的思想和方法在解决现实生活和科技问题的作用. ⒊ ...

  4. vue上传zip文件到服务器,vue.js zip文件上传

    vue.js zip文件上传 内容精选 换一换 开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助.接口参考文档详细介绍了每个接口的参数和使用方法.在O ...

  5. python在屏幕上画画_想学画画?python满足你!

    python中的绘图工具有不少,比如Matplotlib等等,但这些只能用来画表格,今天我们来介绍一款可以用来画画的库--turtle. 一.绘图原理 我们通过控制初始位置为(0,0)的海龟进行移动, ...

  6. vue如何实现在页面上画画_vue组件:canvas实现图片涂鸦功能

    方案背景 需求 需要对图片进行标注,导出图片. 需要标注N多图片最后同时保存. 需要根据多边形区域数据(区域.颜色.名称)标注. 对应方案 用canvas实现涂鸦.圆形.矩形的绘制,最终生成图片bas ...

  7. 计算机用鼠标画图,实现鼠标在电脑上画画

    鼠标的功能多种多样你知道怎么用鼠标画画吗?不知道的话跟着学习啦小编一起来学习怎么用鼠标画画. 鼠标在电脑上画画的步骤 首先打开国际上使用比较受欢迎的漫画和插画类绘图软件SAI,然后CTRL+N新建一个 ...

  8. 疫情当下无法继续学画画?来美术集线上画室在家好好学美术~

    最近因为疫情的影响,造成了很多学校的停课,画室的停课,为我们的出行和生活都带来了很大的不便,很多同学也因此没法去画室学习,练习绘画,疫情当下,我们如何保证学习不止步,如何利用好这一段时间丰富自己,提升 ...

  9. python创建画布大小_要绘制图形,首先需要显示画布,并设置画布的大小。其中turtle.setup()函数可以显示画布,并设置画布的大小,及画布在屏幕上的相对位置。_学小易找答案...

    [简答题]大脑左半球: [其它]11- 15 [简答题]音乐教育能 [单选题]177. 下列哪种方法不属于机械清蜡方法?( ) [判断题]审美价值的特性--精神性. [单选题]168. 储层改造技术也 ...

最新文章

  1. 电气6机30节点数据介绍(常适用于优化调度)
  2. 具有CDI和lambda的策略模式
  3. mysql有实例名这个概念,MySQL的一些概念笔记
  4. struts2遍历select
  5. 任正非:华为活下来走到今天,要感谢乔布斯发明iPhone
  6. Spring : @EnableAutoConfiguration注解
  7. 安装Windows Server 2008 测试机
  8. 编码器控制电机正反转梯形图_旋转编码器如何控制电机正反转?PLC如何实现?
  9. jQuery实现下拉菜单[代码+详细讲解+效果图]
  10. 伊斯兰教历的计算和各个月的名称
  11. 词根词缀spers/spher/spir/spond等词根衍生的单词
  12. 化行列式为上三角形式 C++
  13. 函数指针数组的一些用法
  14. 星巴克招人!要技术大拿。
  15. iphone 如何运行android,iPhone成功运行Android,厉害~
  16. 人工智能-数学基础-数据科学必备分布
  17. Linux网卡灯橙色,Ubuntu下网卡灯不亮,是网卡物理损坏了?
  18. 看linux后台台账,linux怎么查询台账信息
  19. 洛谷P3939 数颜色 vector乱搞
  20. C语言本身是用什么语言写的?

热门文章

  1. 中职计算机专业课导入,导入智慧,让课堂更精彩——谈中职《计算机基础》教学的导入...
  2. PowerMock 总结
  3. SystemError: initialization of _internal failed without raising an exception
  4. svn版本管理工具使用教程
  5. pandas对数据进行分组统计
  6. 2021年茶艺师(中级)考试题库及茶艺师(中级)试题及答案
  7. 【按文分图工具】可以根据图片中的文字来批量自动分类的软件
  8. QGC4.2界面修改
  9. java计算机毕业设计视频点播系统演示录像源代码+数据库+系统+lw文档
  10. Jenkins日志容量15G