整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

基本线条的绘制《HTML5系列教程17》

本线条的绘制《HTML5系列教程17》

HTML5中基本线条的绘制

在Canvas画布中我们可以使用JavaScript这支画笔绘制各种图形,它的功能之所以这么强大,是因为Canvas的CanvasRenderingContext2D对象为我们提供了丰富多彩的API工具,包括我们本次要了解的直线、二次曲线、贝赛尔曲线和圆弧曲线,下表中列出的这些API就是我们本次基本线条的绘制要用到的几种API。

HTML5中基本线条的绘制要用到的几种API

1.绘制直线

我们在学生时代的几何课上就已经学过了“两点一线”,那么Canvas在绘制直线的时候也需要一个起点和一个终点,绘制直线的代码如下图所示:

在HTML5中绘制直线代码

在谷歌浏览器中的预览效果如下图所示:

在HTML5中绘制直线预览效果

2.绘制二次曲线

二次曲线(quadratic curve)也称圆锥曲线或圆锥截线,是直圆锥面的两腔被一个面所截而得的曲线。二次曲线由一个起点、一个终点和一个控制点决定,当控制点经过圆锥顶点时,曲线变成一个点、直线或相交线,当控制点不经过圆锥顶点时,曲线可能是圆、椭圆、双曲线和抛物线。使用Canvas的quadraticCurveTo函数绘制二次曲线的代码如下图所示:

在HTML5中绘制二次曲线的代码

在谷歌浏览器中的预览效果如下图所示:

在HTML5中绘制二次曲线的代码

3.绘制贝塞尔曲线

贝塞尔曲线是电脑图形中非常重要的参数曲线,广泛应用于计算机图形中为平铺曲线建立模型。贝塞尔曲线的每一个顶点都有两个控制点,用于控制在该点两侧的曲线的弧度。它有一个起点、一个终点、两个控制点,共四个点决定一条曲线。使用Canvas的bezierCurveTo函数可以非常方便地绘制曲线,绘制贝塞尔曲线的代码如下图所示:

在HTML5中绘制贝塞尔曲线代码示例

在谷歌浏览器中的预览效果如下图所示:

在HTML5中绘制贝塞尔曲线预览图

4.绘制圆弧

使用Canvas的arc方法绘制圆弧的代码如下图所示:

在HTML5中绘制圆弧的代码

在谷歌浏览器中的预览效果如下图所示:

在HTML5中绘制圆弧的代码

这些便是几种基本线条的绘制方法了,还是很有意思的,大家在练习的时候可以试着绘制一些形状,试不出来也没关系,下一篇中我们将会介绍一些简单的形状的绘制方法。谢谢大家的观看。祝大家:身体健康、生活愉快。

、项目简介

HTML5绘画板

二、实现功能

  • 支持撤销操作、恢复撤销

  • 支持清空画板

  • 支持本地保存、下载图片

  • 支持橡皮擦

  • 支持画直线、画圆、画矩形

  • 支持前景填充

  • 支持拖拽上传图片

  • 支持铅笔绘画、设置画笔粗细

  • 支持涂鸦、更换颜色

三、技术选型

  • html

  • css

  • js

四、界面展示

五、源码地址

回复:绘图

tml 5 互联网的计算机浏览器

canvas结构:

<canvas id="canvas"></canvas>

如果不给canvas指定大小,canvas默认是300px宽,150px高。是行内元素。通常使用width或者height属性指定其大小,不要使用CSS给canvas指定其大小。

绘图主要在context:

canvas.getContext('2d')

画直线:

context.moveTo(x,y);
context.lineTo(x+500,y+200);
context.stroke()

案例:

<!DOCTYPE html>
<html>
<body>
<canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;">
Your browser does not support the HTML5 canvas tag.
</canvas>
<script>
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.beginPath();
ctx.moveTo(0,0);
ctx.lineTo(300,150);
ctx.stroke();
ctx.closePath();
</script>
</body>
</html>

canvas 是基于状态绘制的,即先定义状态,后绘制。

起始一条路径和结束(回到起点)路径

ctx.beginPath();
ctx.closePath(); //会自动将不封闭的图形加上连线

矩形:

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

画圆和弧:

  • 圆心:arc(100,75,50,0*Math.PI,1.5*Math.PI,False)
  • 半径:arc(100,75,50,0,1.5*Math.PI,False)
  • 开始角:arc(100,75,50,0,1.5*Math.PI,False)
  • 结束角:arc(100,75,50,0,1.5*Math.PI,False)
  • 方向:默认False为顺时针,True为逆时针。

更多特殊设置,请参阅:http://www.w3school.com.cn/tags/html_ref_canvas.asp

制作动画的架构