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

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入门实例01:猜字母

    【Canvas入门实例01:猜字母】是一个针对前端开发者的基础教程,主要介绍如何利用HTML5的Canvas元素进行图形绘制和交互。在这个实例中,我们将学习Canvas的基本用法,包括画布的设置、文本渲染以及用户事件处理。...

    DelphiXE10.3_FMX画图程序.rar

    FMX 的 Canvas 在不同的系统上会分别使用: WinVista、Win7: D2D (FMX.Canvas.D2D.pas) WinXP: GDI+ (FMX.Canvas.GDIP.pas) Mac 系列: Core Graphics (FMX.Canvas.Mac.pas) 和 HTML5 中的 Canvas 非常类似, 现在的 ...

    HTML5+CSS3 快速入门 前端 源代码.rar

    4.article元素的使用方法10:27 5.section元素11:16 6.aside元素06:06 7.nav元素07:46 8.time元素01:51 9.pubdate属性04:31 10.header元素合成13:11 11.hgroup元素合成05:43 12.footer元素07:04 13.address元素合成04...

    基于HTML5 Canvas实现的图表插件Chart.js实例.zip

    3. **创建实例**:使用JavaScript获取Canvas元素,并通过Chart.js构造函数创建图表实例。 4. **配置数据**:为图表实例提供数据,包括数据集(datasets)和标签(labels)。 5. **设置选项**:根据需要调整图表的...

    HTML5 Canvas鼠标绘制银河系特效.zip

    2. `canvas.width` 和 `canvas.height`:设置Canvas的宽度和高度,以适应不同的屏幕尺寸。 3. `context.beginPath()` 和 `context.closePath()`:开始和结束一个路径,用于定义绘制图形的边界。 4. `context.arc()`:...

    js+canvas实现动态吃豆人效果.docx

    通过这个实例,我们可以深入理解Canvas的基本用法、动画效果的实现以及简单的面向对象编程思想在JS中的应用。 #### HTML5 Canvas简介 HTML5 的 `<canvas>` 元素为网页上的绘图提供了可能。它本身是一个图形渲染...

    Canvas入门共16页.pdf.zip

    因此,对于静态图形,可以考虑使用`toDataURL()`方法将Canvas内容转换为图片,然后用标签显示,以减少重绘次数。 9. **WebGL**:虽然这里的教程专注于2D绘图,但Canvas也支持WebGL,这是一个用于3D图形的API,可以...

    canvas简单实例详解

    这个“canvas简单实例详解”将带你深入了解Canvas的基本用法和常见操作,为你的网页开发添加丰富的视觉效果。 一、Canvas基本结构 Canvas元素在HTML中以`<canvas>`标签表示,可以通过ID来引用并进行JavaScript操作...

    微信小程序源码_画布:时钟.zip

    在这个时钟应用中,可能使用了`wx.createSelectorQuery()`来获取Canvas元素,然后通过`canvasContext.drawImage()`或`canvasContext.arc()`等方法绘制时钟的背景、数字和指针。 为了实现时钟的实时更新,开发者通常...

    HarmonyOSOpenHarmony应用开发-ArkTS画布组.doc

    ### HarmonyOS/OpenHarmony应用开发-ArkTS画布组...掌握它们的使用方法可以帮助开发者实现更加美观且功能丰富的用户界面。 通过实际编程练习,开发者可以更好地理解和应用这些属性,从而提高应用程序的质量和用户体验。

    创建 canvas 的方法很简单.docx .docx

    以上就是canvas的基本使用方法,结合这些工具,开发者可以构建出复杂且动态的图形界面。需要注意的是,canvas的兼容性取决于浏览器,某些高级特性可能在旧版本或不支持canvas的浏览器中不可用。在实际开发中,通常...

    Leaflet.Canvas-Markers-0.2.0

    3. 创建CanvasMarker:使用L.CanvasMarker方法创建标记,并指定位置和其他选项,如图标样式、大小等。 4. 添加到地图:将创建的CanvasMarker添加到地图实例上。 5. 处理事件:根据需要绑定事件监听器,比如点击事件...

    js+canvas简单绘制圆圈的方法.docx

    通过本文的学习,我们不仅掌握了如何使用JavaScript与Canvas绘制简单的圆形,还深入了解了`arc()`方法的用法及其参数的意义。此外,还学习了如何设置圆形的颜色、填充和边框,以及如何进行基本的动画效果制作。这些...

    最佳canvas入门实例,水球,圆环

    这个“最佳canvas入门实例——水球,圆环”旨在引导初学者掌握Canvas的基本用法和技巧,通过实际操作来理解其工作原理。 首先,让我们深入了解一下Canvas。Canvas是一个基于矢量图形的画布元素,通过JavaScript来...

    html5 canvas流星雨星星动画特效.zip

    在JavaScript中,我们将使用`requestAnimationFrame`方法来创建动画循环,这将定期调用我们的绘图函数。流星雨和星星动画通常涉及多个实例的动态移动和绘制。以下是一个简单的例子,展示如何创建星星: ```...

    canvas线条的属性详解

    更好的方法是使用`context.closePath()`来闭合路径,确保填充和描边正确地进行。下面是一个不推荐使用`lineCap="square"`来闭合路径的例子: ```javascript context.beginPath(); context.moveTo(100, 350); ...

    canvas-basic-graphics.zip

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

    运用HTML5 Canvas绘图生成圣诞树特效.rar

    运用HTML5 Canvas绘图生成圣诞树特效,虽然圣诞节还没有来,但是看到这款HTML5制作的圣诞树效果,我迫不及待的将它分享给大家,实在是很佩服作者的水平,也很羡慕别人能驾驭HTML5,我只能望而兴叹了,还需要不断努力...

    HTML5 Canvas核心技术—图形、动画与游戏开发一书源代码

    - **绘图上下文**:Canvas API主要通过`<canvas>`元素和它的`2d`绘图上下文来操作,这个上下文提供了一系列方法用于画线、填充形状、绘制图像等。 - **坐标系统**:Canvas的坐标系统以左上角为原点,X轴向右,Y轴...

Global site tag (gtag.js) - Google Analytics