欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

HTML5 Canvas中使用用路徑描畫圓弧

  發(fā)布時(shí)間:2015-01-01 15:31:00   作者:佚名   我要評(píng)論
這篇文章主要介紹了HTML5 Canvas中使用用路徑描畫圓弧,本文演示了如何在HTML5 Canvas中畫一個(gè)完整的圓、半圓、圓弧,需要的朋友可以參考下

本文翻譯自Steve Fulton & Jeff Fulton HTML5 Canvas, Chapter 2, “Advanced Path Methods, Arcs”

在Canvas繪圖中,“圓弧”既可以是一個(gè)整圓,也可以是圓周的一部分。

復(fù)制代碼
代碼如下:

context.arc()
context.arc(x, y, radius, startAngle, endAngle, anticlockwise)

在上述方法描述中,x和y定義圓心,radius定義圓周的半徑。startAngle和endAngle以極坐標(biāo)值表示。anticlockwise(布爾值)定義圓弧的方向。

比如,如果我們想描畫一個(gè)以點(diǎn)(100, 100)為圓心,半徑為20的圓周,我們可以使用以下代碼:

復(fù)制代碼
代碼如下:

context.arc(100, 100, 20, (Math.PI/180)*0, (Math.PI/180)*360, false);

執(zhí)行效果為:

值得注意的是,在上述代碼中,我們需要將起始角度(0)和結(jié)束角度(360)通過乘以(Math.PI/180)來轉(zhuǎn)換成極坐標(biāo)弧度。當(dāng)起始角度為0而結(jié)束角度為360時(shí),得到的是一個(gè)整圓。

除了整圓,我們也可以描畫圓弧片段。下述代碼描畫了四分之一個(gè)圓周:

復(fù)制代碼
代碼如下:

context.arc(100, 100, 20, (Math.PI/180)*0, (Math.PI/180)*90, false);

如果我們想描畫除上述圓弧之外的另外四分之三個(gè)圓周,我們可以將anticlockwise設(shè)置為true:

復(fù)制代碼
代碼如下:

context.arc(100, 100, 20, (Math.PI/180)*0, (Math.PI/180)*90, true);

譯注1:在Canvas的坐標(biāo)系中,Y軸的方向是向下的。

譯注2:使用context.arcTo()方法也可以描畫圓弧。Steve Fulton & Jeff Fulton 的 HTML5 Canvas 原著中對(duì)該方法的描述是完全錯(cuò)誤的。正確的arcTo()總結(jié)詳見:曲線之a(chǎn)rcTo

相關(guān)文章

  • 詳解canvas在圓弧周圍繪制文本的兩種寫法

    這篇文章主要介紹了詳解canvas在圓弧周圍繪制文本的兩種寫法,直接按弧度進(jìn)行編寫的,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-22

最新評(píng)論