html坐标绘制路径,HTML5 CANVAS:绘制路径

HTML5 Canvas利用路径可以绘制各种图形,包括直线、曲线等。通过beginPath(), closePath(), moveTo(), lineTo(), stroke()和fill()等函数进行路径操作。此外,还能设置线条宽度、线头样式、线条连接点以及绘制曲线。本文详细讲解了这些概念并提供了实例代码。" 87874277,8387831,Superset 0.28实战:ECharts集成与汉化指南,"['Superset', '数据可视化', 'ECharts', 'Python', '前端开发']
摘要由CSDN通过智能技术生成

101516lmddi4216rze6r1d.jpg

一条HTML5 canvas路径是通过绘制指令来连接一系列的点,由这一系列的点构成直线或曲线。路径可以用于在HTML5 canvas上绘制各种类型的图形:直线、圆形、多边形等等。路径的绘制是canvas的核心,必须很好的理解和掌握。

开始和关闭一条路径

要开始和关闭一条路径可以使用2D上下文的beginPath()和closePath()函数。例如下面的例子:

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

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

context.beginPath();

//... 绘制路径

context.closePath();复制代码

moveTo()函数

当你在canvas中绘制一条路径的时候,你可以想象自己正在使用一支“虚拟笔”。这支虚拟笔总是位于某个位置,你可以使用2D上下文的moveTo(x, y)函数来移动这支虚拟笔。例如下面的代码:

context.moveTo(10,10);复制代码

这个例子将“虚拟笔”移动到(10,10)这个坐标点上。

lineTo()函数

lineTo函数用于从虚拟笔的当前位置绘制一条直线到lineTo()函数中指定的点。下面是一个例子:

context.beginPath();

context.moveTo(10,10);

context.lineTo(50,50);

context.closePath();复制代码

这个例子中首先移动虚拟笔到(10,10)坐标点位置,然后从这个点绘制一条直线到(50,50)坐标点。

lineTo()函数还会将虚拟笔移动到执行的结束点位置。上面的例子中是移动到(50,50)的位置。

stroke()函数 + fill()函数

在你没有通知2D上下文绘制路径之前,实际是不会在画布上绘制任何东西的。你可以通过stroke()或fill()函数来通知2D上下文。

stroke()函数用于路径操作指定的图形的外轮廓。

fill()函数用于填充有路径操作指定的图形。

下面的例子展示了stroke()或fill()函数的用法。

context.beginPath();

context.moveTo(10,10);

context.lineTo(60,50);

context.lineTo(110,50);

context.lineTo(10,10);

context.stroke();

context.closePath();

context.beginPath();

context.moveTo(100,10);

context.lineTo(150,50);

context.lineTo(200,50);

context.lineTo(100,10);

context.fill();

context.closePath();复制代码

上面代码的返回结果如下:

101720h8i81gzp8d4zmdz6.jpg

线条的宽度

你可以使用2D上下文的lineWidth属性来设置绘制线条的宽度。下面是一个例子:

context.lineWidth = 10;复制代码

上面的例子设置绘制线条的宽度为10像素。

下面的例子绘制3条直线,它们的宽度分别为1,5和10。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值