`
BuN_Ny
  • 浏览: 86298 次
  • 来自: 济南
社区版块
存档分类
最新评论

Canvas入门实例06:context.arcTo()的用法

阅读更多

该方法的使用方式如下:

context.arcTo(x1, y1, x2, y2, radius)

其中,

  x1  贯穿当前路径所在坐标的第一条切线的横坐标

  y1  贯穿当前路径所在坐标的第一条切线的纵坐标

  x2  贯穿(x1,y1)坐标的第二条切线的横坐标

  y2  贯穿(x1,y1)坐标的第二条切线的横坐标

  radius 弧半径

 

这也是一个画弧的方法。它仅被一些最新的浏览器支持。

先看一下效果:

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)连接起来。

 

 

 

  • 大小: 3 KB
分享到:
评论

相关推荐

    canvas-basic-graphics.zip

    6. **绘制圆角矩形**:圆角矩形的绘制通常涉及多个弧形路径的组合,使用`arcTo()`或`ellipse()`方法配合`lineTo()`来构建每个角落的弧形。 7. **绘制箭头**:箭头可以由直线和三角形组成。使用`moveTo()`和`lineTo...

    一波HTML5 Canvas基础绘图实例代码集合

    在本篇文章中,我们将探讨Canvas的基础绘图实例,包括圆形、矩形、圆角等基本图形的绘制方法。 首先,我们需要获取Canvas元素并创建2D渲染上下文。这是通过以下代码实现的: ```javascript var canvas = document....

    htm5 canvas四叶草背景动画特效.zip

    在四叶草背景动画中,首先我们需要创建一个Canvas元素,并在JavaScript中获取到它的2D渲染上下文(`context`),这是进行绘图操作的关键对象。例如: ```javascript var canvas = document.getElementById('...

    HTML5 canvas基本绘图之绘制曲线

    var context = canvas.getContext('2d'); ``` 有了这个2D渲染上下文,我们就可以开始绘制图形了。对于曲线的绘制,HTML5 canvas提供了以下两个主要的函数: 1. **`context.arc(x, y, r, sAngle, eAngle, ...

    HTML5 Canvas基础教程

    2. **Context对象**:Canvas提供了一个2D渲染上下文(2D Rendering Context),通过`canvas.getContext('2d')`获取,这是所有绘图操作的基础。这个2D渲染上下文有一系列的方法和属性,用于绘制路径、矩形、圆形、...

    HTML5 Canvas庆祝春节过年放烟花动画代码

    在这个烟花动画中,可能会使用`beginPath()`、`moveTo()`、`lineTo()`和`arcTo()`等方法绘制复杂的轨迹。 2. **颜色和渐变**:`fillStyle`和`strokeStyle`属性可以设置线条和填充的颜色,甚至可以是线性渐变或径向...

    Html5 Canvas API

    2. **Context对象**:Canvas API的核心是`2D渲染上下文`(`2D Rendering Context`),通过`canvas.getContext('2d')`获取。这个对象提供了各种绘图方法,如线条、形状、文本、图像处理等。 3. **绘图路径**:`...

    自定义弧形seekbar

    可以使用Canvas的arcTo()方法画弧形,lineTo()方法连接起点和终点,以及drawRect()方法画滑块。 ```java @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); // 计算轨道和滑块的坐标 //...

    HTML5+jQuery制作温馨浪漫爱心表白动画特效

    2. **绘制爱心**:使用`context.beginPath()`开始路径,然后通过`arcTo()`和`lineTo()`等方法绘制心形轮廓。可以使用`fillStyle`设置填充颜色,`strokeStyle`设置描边颜色,最后调用`fill()`和`stroke()`完成绘制。 ...

Global site tag (gtag.js) - Google Analytics