该方法的使用方式如下:
context.arcTo(x1, y1, x2, y2, radius)
其中,
x1 贯穿当前路径所在坐标的第一条切线的横坐标
y1 贯穿当前路径所在坐标的第一条切线的纵坐标
x2 贯穿(x1,y1)坐标的第二条切线的横坐标
y2 贯穿(x1,y1)坐标的第二条切线的横坐标
radius 弧半径
这也是一个画弧的方法。它仅被一些最新的浏览器支持。
先看一下效果:
![](http://dl.iteye.com/upload/attachment/605065/8d48b7ad-b26f-3542-ae52-830c1276c637.png)
function drawScreen(){
var context = theCanvas.getContext('2d');
//吹牛逼前先打草稿:画出几条网格
context.beginPath();
context.strokeStyle = 'blue';
context.lineWidth = 1;
context.moveTo(0, 60);
context.lineTo(500, 60);
context.moveTo(0, 80);
context.lineTo(500, 80);
context.moveTo(0, 100);
context.lineTo(500, 100);
context.moveTo(0, 160);
context.lineTo(500, 160);
context.moveTo(100, 0);
context.lineTo(100, 300);
context.moveTo(120, 0);
context.lineTo(120, 300);
context.moveTo(140, 0);
context.lineTo(140, 300);
context.moveTo(280, 0);
context.lineTo(280, 300);
context.moveTo(300, 0);
context.lineTo(300, 300);
context.moveTo(320, 0);
context.lineTo(320, 300);
context.stroke();
context.closePath();
context.beginPath();
context.strokeStyle = 'black';
context.lineWidth = 5;
//左图
context.moveTo(20, 60);
context.lineTo(100, 60);
context.arcTo(120, 60, 120, 80, 20);
context.lineTo(120, 160);
//右图
context.moveTo(200, 60);
context.lineTo(300, 80);
context.arcTo(320, 60, 320, 80, 20);
context.lineTo(320, 160);
context.stroke();
context.closePath();
}
方法介绍里说的太抽象,其实,这个方法的关键是两条线:
1) 从当前path坐标点到(x1,y1)的联线;
2) 从(x1,y1)到(x2,y2)的联线;
确定了这两条线后,画出来的弧则是与这两条线分别相切的、指定半径的圆的一段。另外,除了这个弧,arcTo()方法还会将path坐标点到(x1,y1)连接起来。
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0060/5065/8d48b7ad-b26f-3542-ae52-830c1276c637-thumb.png)
- 大小: 3 KB
分享到:
相关推荐
6. **绘制圆角矩形**:圆角矩形的绘制通常涉及多个弧形路径的组合,使用`arcTo()`或`ellipse()`方法配合`lineTo()`来构建每个角落的弧形。 7. **绘制箭头**:箭头可以由直线和三角形组成。使用`moveTo()`和`lineTo...
在本篇文章中,我们将探讨Canvas的基础绘图实例,包括圆形、矩形、圆角等基本图形的绘制方法。 首先,我们需要获取Canvas元素并创建2D渲染上下文。这是通过以下代码实现的: ```javascript var canvas = document....
在四叶草背景动画中,首先我们需要创建一个Canvas元素,并在JavaScript中获取到它的2D渲染上下文(`context`),这是进行绘图操作的关键对象。例如: ```javascript var canvas = document.getElementById('...
var context = canvas.getContext('2d'); ``` 有了这个2D渲染上下文,我们就可以开始绘制图形了。对于曲线的绘制,HTML5 canvas提供了以下两个主要的函数: 1. **`context.arc(x, y, r, sAngle, eAngle, ...
2. **Context对象**:Canvas提供了一个2D渲染上下文(2D Rendering Context),通过`canvas.getContext('2d')`获取,这是所有绘图操作的基础。这个2D渲染上下文有一系列的方法和属性,用于绘制路径、矩形、圆形、...
在这个烟花动画中,可能会使用`beginPath()`、`moveTo()`、`lineTo()`和`arcTo()`等方法绘制复杂的轨迹。 2. **颜色和渐变**:`fillStyle`和`strokeStyle`属性可以设置线条和填充的颜色,甚至可以是线性渐变或径向...
2. **Context对象**:Canvas API的核心是`2D渲染上下文`(`2D Rendering Context`),通过`canvas.getContext('2d')`获取。这个对象提供了各种绘图方法,如线条、形状、文本、图像处理等。 3. **绘图路径**:`...
可以使用Canvas的arcTo()方法画弧形,lineTo()方法连接起点和终点,以及drawRect()方法画滑块。 ```java @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); // 计算轨道和滑块的坐标 //...
2. **绘制爱心**:使用`context.beginPath()`开始路径,然后通过`arcTo()`和`lineTo()`等方法绘制心形轮廓。可以使用`fillStyle`设置填充颜色,`strokeStyle`设置描边颜色,最后调用`fill()`和`stroke()`完成绘制。 ...