路径的概念

路径是从起始点结束点之间的连线。个人认为,二维画布中分为线性图形和非线性图形,线性图形包括矩形、直线、曲线、圆形等各种几何图形;非线性图形包括图象、文本、像素。线性图形中又分为路径和非路径,路径的特点就是以 beginPath() 来开启,非路径图形就是使用 rect() 函数绘制的矩形,这样的矩形不需要用 beginPath() 来开启。

直线

绘制一条直线必须要确定其起始点以及结束点,起始点用 moveTo 函数;结束点用 lineTo 函数。lineTo 代表路径从起始点到结束点都是一条直线。

ctx.beginPath();
ctx.moveTo(100, 100);
ctx.lineTo(200, 200);
ctx.stroke();
ctx.closePath();

最终的效果:

贝塞尔曲线

前面提到过,路径是连接着起始点和结束点的线,贝塞尔曲线函数 quadraticCurveTo 踢动了贝塞尔的控制点以及结束点,在 beginPath() 之后一定要确定路径的起始点,即 moveTo()。《Canvas 基础(三):画曲线》中提到了绘制贝塞尔曲线的细节。

ctx.beginPath();
ctx.moveTo(10, 200);
ctx.quadraticCurveTo(60, 80, 200, 200);
ctx.stroke();
ctx.closePath();

路径装饰

路径颜色

路径的默认颜色是 #ff0000,由属性 strokeStyle 决定,接受十六进制、RGB、RGBA、颜色英文单词。

路径填充

路径矩形、圆形可以填充某种颜色,即“路径填充”。用连续的 lineTo() 绘制一个路径矩形:

ctx.beginPath();
ctx.moveTo(40, 40);
ctx.lineTo(220, 40);
ctx.lineTo(220, 220);
ctx.lineTo(40, 220);
ctx.stroke();
ctx.closePath();
// 填充路径
ctx.fillStyle = '#689bc5';
ctx.fill();

填充的效果:

Canvas:路径的更多相关文章

  1. Canvas路径方向

    使用Canvas路径画图需要注意方向,画图方向是顺时针还是逆时针需要记住.下面让我们看看Canvas常见路径方向. arc 参数值 context.arc(x,y,r,sAngle,eAngle,co ...

  2. 理解canvas路径

    canvas路径和ps里面的路径差不多,在进行图形绘制时,先绘制出来图形的路径,然后再描边或者填充. canvas路径还有子路径的概念,在某一时刻,canvas之中只能有一条路径存在,Canvas规范 ...

  3. Canvas路径、描边、填充

    <script> var context = document.getElementById('canvas').getContext('2d'); context.font = '48p ...

  4. canvas路径绘制

    惯例,先贴代码: 1 /** 2 * Created by Administrator on 2016/1/27. 3 */ 4 function draw (id){ 5 var canvas = ...

  5. canvas路径剪切和判断是否在路径内

    1.剪切路径 clip() var ctx=mycanvas.getContext('2d'); ctx.beginPath(); // 建一个矩形路径 ctx.moveTo(20,10) ctx.l ...

  6. html5 canvas路径绘制2

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. Html5学习2(Html表格、Html列表、Html5新元素、Canvas (坐标、路径、画圆、文本、渐变、图像))

    Html表格 1.表格中的表头:<th></th>.其中表头部分字体加粗,颜色深绿色 <h4>水平标题:</h4> <table border=& ...

  8. HTML5 程序设计 - 使用HTML5 Canvas API

    请你跟着本篇示例代码实现每个示例,30分钟后,你会高喊:“HTML5 Canvas?!在哥面前,那都不是事儿!” 呵呵.不要被滚动条吓到,很多都是代码和图片.我没有分开写,不过上面给大家提供了目录,方 ...

  9. HTML 5 canvas —— 基本语法

    目录 简述 canvas 基础 2D context API 基本线条 路径 插入图像 像素级操作 文字 阴影 颜色渐变 小节 简述 HTML 5 规范引进了很多新特性,其中最令人期待的之一就是 ca ...

  10. canvas小知识

    清单 1. 绘制 canvas 矩形 function drawRect(){ var canvas = document.getElementById('canvas'); if (canvas.g ...

随机推荐

  1. python2和python3的区别(1)

    1.python2和python3的解释器的默认编码不同 python2解释器的编码默认用的是 ascii python3解释器的编码默认用的 utf-8 2.python2和python3输入的表示 ...

  2. [OpenCV实战]5 基于深度学习的文本检测

    目录 1 网络加载 2 读取图像 3 前向传播 4 处理输出 3结果和代码 3.1结果 3.2 代码 参考 在这篇文章中,我们将逐字逐句地尝试找到图片中的单词!基于最近的一篇论文进行文字检测. EAS ...

  3. Java的深拷贝和浅拷贝的区别

    一.拷贝的引入 (1).引用拷贝 创建一个指向对象的引用变量的拷贝. Teacher teacher = new Teacher("Taylor",26); Teacher oth ...

  4. 前端基础知识-html(一)个人学习记录

    待补充 块级元素与行内元素,常见举例 html5新特性?

  5. 你知道CDN是干嘛的吗?

    theme: cyanosis 前言 几年前,我在浏览互联网时偶然发现了一个新的电子商务网站,注意到网站上的图片加载速度不快.我刷新了页面并重试了几次.终于,十秒钟后,我能够看到带有图像的渲染网页. ...

  6. 记录一次排查log4cxx库按照日期回滚,不创建新目录的BUG

    目录 1.背景 2.排查步骤 2.1.错误代码定位 2.2.问题猜测 2.3.错误代码分析 2.4.错误原因 3.解决方法 1.背景 C++ 项目,使用了 log4cxx 日志库,版本为:0.10.0 ...

  7. 编程哲学之 C# 篇:004——安装 Visual Studio

    工欲善其事必先利其器,本章介绍安装Visual Studio这个号称宇宙最强IDE(Integrated Development Environment[集成开发环境]). 安装 Visual Stu ...

  8. Task记录3 :ContinueWith ,CancellationToken,的结合

    static void Main(string[] args) { //1.创建取消令牌数据 CancellationTokenSource tokenSource = new Cancellatio ...

  9. Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to 解决办法

    main.js 配置如下 import Router from 'vue-router'; //路由导航冗余报错(路由重复) const originalPush = Router.prototype ...

  10. springcloud12-spring cloud stream

    1.基础说明 官网:https://spring.io/projects/spring-cloud-stream#overview   文档:https://docs.spring.io/spring ...