亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > HTML > 正文

使用HTML5 Canvas API繪制弧線的教程

2020-03-24 19:18:49
字體:
來源:轉載
供稿:網友
繪制標準圓弧在開始之前,我們優化一下我們的作圖環境。靈感來自于上節課的紋理,如果不喜歡這個背景,我在images目錄下還提供了其他的背景圖,供大家選擇。另外把所有的樣式表都寫在了 head 下。JavaScript Code復制內容到剪貼板
style body{background:url( ./images/bg3.jpg )repeat;} #canvas{border:1pxsolid#aaaaaa;display:block;margin:50pxauto;} /style /head body divid= canvas-warp canvasid= canvas 你的瀏覽器居然不支持Canvas?!趕快換一個吧!! /canvas /div script window.onload=function(){ varcanvas=document.getElementById( canvas ); canvas.width=800; canvas.height=600; varcontext=canvas.getContext( 2d ); context.fillStyle= #FFF ; context.fillRect(0,0,800,600); } /script /body /html
運行結果:
之所以要繪制一個空白的矩形填滿畫布,是因為我們之前說過,canvas是透明的,如果不設置背景色,那么它就會被我設置的 body 紋理所覆蓋,想要使其擁有背景色(白色),只有繪制矩形覆蓋canvas這一個方法。怎么樣,是不是非常的酷?使用arc()繪制圓弧
arc()的使用方法如下:JavaScript Code復制內容到剪貼板
前面三個參數,分別是圓心坐標與圓半徑。startAngle、endAngle使用的是弧度值,不是角度值?;《鹊囊幎ㄊ墙^對的,如下圖。
anticlockwise表示繪制的方法,是順時針還是逆時針繪制。它傳入布爾值,true表示逆時針繪制,false表示順時針繪制,缺省值為false?;《鹊囊幎ㄊ墙^對的,什么意思呢?就是指你要繪制什么樣的圓弧,弧度直接按上面的那個標準填就行了。比如你繪制 0.5pi ~ 1pi 的圓弧,如果順時針畫,就只是左下角那1/4個圓弧;如果逆時針畫,就是與之互補的右上角的3/4圓弧。此處自己嘗試,不再舉例。使用切點繪制圓弧arcTo()介紹:
arcTo()方法接收5個參數,分別是兩個切點的坐標和圓弧半徑。這個方法是依據切線畫弧線,即由兩個切線確定一條弧線。
具體如下。JavaScript Code復制內容到剪貼板
這個函數以給定的半徑繪制一條弧線,圓弧的起點與當前路徑的位置到(x1, y1)點的直線相切,圓弧的終點與(x1, y1)點到(x2, y2)的直線相切。因此其通常配合moveTo()或lineTo()使用。其能力是可以被更為簡單的arc()替代的,其復雜就復雜在繪制方法上使用了切點。使用切點繪制弧線:
下面的案例我把切線也繪制出來了,看的更清楚一些。JavaScript Code復制內容到剪貼板
style body{background:url( ./images/bg3.jpg )repeat;} #canvas{border:1pxsolid#aaaaaa;display:block;margin:50pxauto;} /style /head body divid= canvas-warp canvasid= canvas 你的瀏覽器居然不支持Canvas?!趕快換一個吧?。? /canvas /div script window.onload=function(){ varcanvas=document.getElementById( canvas ); canvas.width=800; canvas.height=600; varcontext=canvas.getContext( 2d ); context.fillStyle= #FFF ; context.fillRect(0,0,800,600); drawArcTo(context,200,200,600,200,600,400,100); }; functiondrawArcTo(cxt,x0,y0,x1,y1,x2,y2,r){ cxt.beginPath(); cxt.moveTo(x0,y0); cxt.arcTo(x1,y1,x2,y2,r); cxt.lineWidth=6; cxt.strokeStyle= red ; cxt.stroke(); cxt.beginPath(); cxt.moveTo(x0,y0); cxt.lineTo(x1,y1); cxt.lineTo(x2,y2); cxt.lineWidth=1; cxt.strokeStyle= #0088AA ; cxt.stroke(); } /script /body /html
運行結果:
這個案例也很好說明了arcTo()的各個關鍵點的作用。為了更清楚的解釋,我再標注一個分析圖。
這里注意一下,arcTo()繪制的起點是(x0, y0),但(x0, y0)不一定是圓弧的切點。真正的arcTo()函數只傳入(x1, y1)和(x2, y2)。其中(x1, y1)稱為控制點,(x2, y2)是圓弧終點的切點,它不一定在圓弧上。但(x0, y0)一定在圓弧上。
有一點點繞,下面我們改變drawArcTo()函數的參數來試驗一下。
(x2, y2)不一定在弧線上:
JavaScript Code復制內容到剪貼板
drawArcTo(context,200,100,600,100,600,400,400);
drawArcTo(context,400,100,600,100,600,400,400);
挺有意思的,它為了經過(x0, y0)直接將切點和(x0, y0)連接起來形成線段。好執著的弧線
html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美性高跟鞋xxxxhd| 高清欧美一区二区三区| 欧美性色19p| 国产成人av网| 国产精品网址在线| 国产成人精品国内自产拍免费看| 成人福利视频网| 怡红院精品视频| 国产精品久久中文| 一区二区欧美在线| 亚洲成人在线视频播放| 91欧美激情另类亚洲| 亚洲区中文字幕| 欧亚精品中文字幕| 久久精品99国产精品酒店日本| 日韩国产精品视频| 久久伊人免费视频| 国产成人精品视频在线观看| 国产精品一区二区三区毛片淫片| 精品色蜜蜜精品视频在线观看| 国产精品久久久久aaaa九色| 国产国产精品人在线视| 欧美巨乳美女视频| 国产精品老女人视频| 91人人爽人人爽人人精88v| 亚洲欧美国产精品va在线观看| 日韩电影大全免费观看2023年上| 欧美性xxxxx极品| 亚洲欧美日韩在线一区| 亚洲欧洲国产精品| 亚洲人成伊人成综合网久久久| 久久久视频精品| 久热精品视频在线| 亚洲欧美日韩精品久久亚洲区| 欧美另类99xxxxx| 青青青国产精品一区二区| 国产精品欧美日韩一区二区| 日韩精品在线第一页| 国语自产精品视频在线看抢先版图片| 国产精品美女免费| 国产精品爱啪在线线免费观看| 国产成人精品免费久久久久| 国产精品揄拍500视频| 国语自产偷拍精品视频偷| 狠狠色狠狠色综合日日小说| 精品国产区一区二区三区在线观看| 亚洲午夜久久久久久久| 78m国产成人精品视频| 久久91超碰青草是什么| 国产精品香蕉国产| 91在线无精精品一区二区| 久久97久久97精品免视看| yw.139尤物在线精品视频| 91色精品视频在线| 青青草精品毛片| 亚洲一级片在线看| 欧美疯狂性受xxxxx另类| 欧美午夜精品伦理| 欧美大成色www永久网站婷| 4438全国成人免费| 国自产精品手机在线观看视频| 97色伦亚洲国产| 亚洲人成伊人成综合网久久久| 亚洲偷熟乱区亚洲香蕉av| 欧美在线视频一区二区| 欧美老女人性生活| www.日韩视频| 欧美激情二区三区| 精品中文字幕在线观看| 欧美成人精品h版在线观看| 97在线视频免费播放| 精品成人69xx.xyz| 亚洲综合中文字幕68页| 亚洲人永久免费| 最近2019中文字幕在线高清| 亚洲精品久久久一区二区三区| 69久久夜色精品国产69| 日韩精品久久久久久久玫瑰园| 久久99精品国产99久久6尤物| 国产91网红主播在线观看| 国产精品久久久久久超碰| 亚洲欧美国产一区二区三区| 国产精品99免视看9| 欧美日韩在线视频一区二区| 精品久久久久久久大神国产| 国产精品99蜜臀久久不卡二区| 欧美极品美女视频网站在线观看免费| 神马国产精品影院av| 国产成人av在线| 欧美wwwxxxx| 欧美日韩国产影院| 亚洲国产中文字幕久久网| 久久99精品国产99久久6尤物| 久久精品亚洲一区| 麻豆国产精品va在线观看不卡| 97在线看免费观看视频在线观看| 亚洲色图狂野欧美| 欧美一乱一性一交一视频| 国产精品视频xxx| 日韩欧美亚洲范冰冰与中字| 久久久女人电视剧免费播放下载| 久久久成人精品| 日韩视频在线观看免费| 色综合久久中文字幕综合网小说| 91九色国产社区在线观看| 欧美精品在线观看91| 国产欧美一区二区三区在线| 97超级碰碰碰| 国产乱人伦真实精品视频| 国产精品久久久久不卡| 欧美在线视频免费播放| 国产欧美在线看| 91免费视频国产| 国产精品美女在线| 中文字幕免费精品一区| 欧美精品videos性欧美| 91精品成人久久| 亚洲精品网址在线观看| 久久免费视频观看| 高清欧美性猛交xxxx黑人猛交| 欧美在线www| 国产精品视频xxx| 国内精品久久久久久久久| 国产欧美日韩最新| 这里只有精品视频在线| 精品久久久久久亚洲精品| 亚洲国产古装精品网站| 欧洲精品毛片网站| 在线播放日韩专区| 精品香蕉在线观看视频一| 久久久91精品国产一区不卡| 俺去啦;欧美日韩| 中文在线不卡视频| 亚洲人午夜色婷婷| 欧美日韩亚洲高清| yw.139尤物在线精品视频| 久久男人的天堂| 最近2019中文字幕在线高清| 欧美一级黄色网| 久久久国产精彩视频美女艺术照福利| 久久久久久久电影一区| 国产成人精品久久二区二区| 亚洲欧美中文字幕| 亚洲国产欧美自拍| 亚洲精品免费av| 亚洲精品乱码久久久久久按摩观| 亚洲一区二区在线| 欧美老少做受xxxx高潮| 欧美日韩福利视频| 国产精品福利片| 国产日韩一区在线| 91理论片午午论夜理片久久| 欧美激情久久久久久| 中文日韩电影网站| 日韩中文字幕在线看| 久久精品国产一区二区电影| 欧美做爰性生交视频| 欧美黑人xxxⅹ高潮交| 久久综合久久美利坚合众国| 奇米4444一区二区三区| 在线日韩av观看| 日本一区二区三区在线播放| 国产婷婷97碰碰久久人人蜜臀| 亚洲自拍中文字幕|