1. 程式人生 > >Canvas 畫弧,扇形,畫圓(arc())

Canvas 畫弧,扇形,畫圓(arc())

demo.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        canvas {
            border:1px solid red;
        }
    </style>
</head>
<body>
    <canvas id="cvs" width="500" height="500"></canvas>
    <script>
        var cvs = document.getElementById('cvs');
        var ctx = cvs.getContext('2d');

        /*
        * 畫弧( 畫的是路徑 )
        * ctx.arc( 圓心x軸座標,圓心y軸座標,半徑, 起點弧度,結束點弧度,是否逆時針畫(可選) )  //預設順時針
        * arc方法內部會先從當前路徑結束點到弧的起點畫一條路徑線。
        * 起點弧度、結束點弧度以及弧度的方向共同決定了弧的大小。
        * */

        // 把角度轉換為弧度
        function angleToRadian( angle ) {
            return Math.PI / 180 * angle;
        }

        // 順時針畫一段弧
        ctx.arc( 100, 100, 30, angleToRadian( 90 ), angleToRadian( 270 ) ); //弧度是順時針算的
        ctx.stroke();

        // 逆時針畫一段弧
        ctx.beginPath();  //arc方法內部會先從當前路徑結束點到弧的起點畫一條路徑線。
        ctx.arc( 200, 100, 30, angleToRadian( 90 ), angleToRadian( 270 ), true ); //true表示逆時針
        ctx.stroke();

        // 一個圓
        ctx.beginPath();
        ctx.arc( 300, 100, 30, angleToRadian( 90 ), angleToRadian( 360 ) );
        ctx.stroke();

        /*
        * 畫扇形:
        * 1、先設定路徑起點為圓心
        * 2、畫弧
        * 3、閉合路徑
        * */
        ctx.beginPath();
        ctx.moveTo( 100, 300 );
        ctx.arc( 100, 300, 90, angleToRadian( 45 ), angleToRadian( 180 ) );
        ctx.closePath();
        ctx.stroke();

    </script>
</body>
</html>


相關推薦

Canvas ,扇形,(arc())

demo.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title&g

Canvas三種動態實現方法說明

前言 canvas是HTML5出來的繪圖API容器,對於圖形的處理非常強大,下面使用canvas配合JavaScript來做一下動態畫圓效果。可以用它來做圓形進度條來使用。 這裡我個人總結了3種實現方法,大家可以參考一下。 方法一:arc(

Android中Canvas的使用(直線、虛線、環、矩形、多邊形、圓角矩形、矩形字型居中、圖片、圖片旋轉等)

好久之前就想寫部落格,分享一些自己的總結體會,可總是因為工作忙+本人懶惰才一直沒寫。以後準備每月寫1~2篇部落格吧,希望自己能堅持下去。好了廢話不多說直接上canvas繪製效果圖及程式碼。 Canvas與Paint介紹 在Android中把Canvas當

Canvas】畫布,、背景以及生成圖片

1、插入文字//設定使用者文字填充顏色 context.fillStyle = '#999'; //設定使用者文字的大小字型等屬性 context.font = "small-caps bold 25px Arial"; //繪製文字 context.fillText("時間

Canvas學習筆記之(笑臉)

window.addEventListener('load', () => { var btn = document.getElementById('btn-smile'); var c = document.getElementById('myCanvas')

canvas一個簡單的(帶進度條效果)

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge">

canvas進階——如何出平滑的曲線?

背景概要 相信大家平時在學習canvas 或 專案開發中使用canvas的時候應該都遇到過這樣的需求:實現一個可以書寫的畫板小工具。 嗯,相信這對canvas使用較熟的童鞋來說僅僅只是幾十行程式碼就可以搞掂的事情,以下demo就是一個再也簡單不過的例子了: <!DOCTYPE html> &

在螢幕上用“*”一個空心的

#include <stdio.h> #include <math.h> int main() {     double y;     int x, m, r;          s

Matlab draw a sector 一個扇形

Matlab draw a sector 畫一個扇形 Matlab的函式程式碼: function [ sector ] = Draw_a_sector( map, center,StartR, EndR, StartAngle, EndAngle ) %% Get indexs(row

OpenCV輪廓的外界矩形橢圓等

                #include <cv.h>   #include <cxcore.h>   #include <highgui.h>   #include <iostream>   using namespace std; #pragma  

js canvas逐個打字並心形

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name ="viewport"content ="width = d

CSS 一個簡單的

.wrap{width: 486px;height: 486px;border-radius: 100%;position: relative;margin: 0 auto;overflow: hidden;}.wrapper{ width: 243px; height: 486px; position: a

【計算機圖形】直線與

由於計算機的解析度有限,計算機圖形只是看起來平滑,放大後就能看到階梯狀的鋸齒。(可以開啟windows畫圖檢驗)。所以畫線畫圓的本質問題就是下一個點取(x + 1, y )或(x, y + 1)還是(x + 1, y + 1)? 一、畫直線: 1. DDA(

Canvas-繪製

繪製圓形的基本函式 context.arc( centerX,centerY,radius, startingAngle,endingAngle, anticlockwise=false//繪製方向,true 為逆時針 ) centerX,centerY

Canvas動態載入圖片、線、

HTML程式碼: <canvas id="cvs" width="400" height="400" style="margin:20px auto; display: block;"> </canvas> JS程式碼 <script type

QT QPainter用法(包含點,矩形,線等)

       QPainter可以繪製從簡單的直線到像餅圖和絃這樣的複雜形狀。它也可以繪製排列的文字和畫素對映。通常,它在一個“自然的”座標系統中繪製,但是它也可以在視和世界轉換中做到這些。繪圖工具的典型用法是:構造一個繪圖工具。設定畫筆、畫刷等等。繪製。銷燬這個繪圖工具。下

2.使用canvas實現簡單的直線橡皮筋式畫框

css樣式基本和之前的一樣,這裡就不提了, HTML程式碼: <div id='controls'> Stroke color: <select id="strokeStyleSelect">

android多種顏色的環帶動畫效果

首先在values中的attrs中建立自定義控制元件的屬性 <declare-styleable name="MyView"> <attr name="my_view_color" format="color"></attr&

canvas插入圖片和文字

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" conten

Swift-虛線、虛線

程式碼如下: case .LayerType_XuXian_Circle: self.title = "畫虛線" //畫虛線