久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

canvas中線段的端點與連接點詳解

在Canvas中,線段也是路徑中的一種,被稱之為線性路徑。在Canvas中繪制線性路徑主要用到moveTo(x,y)、lineTo(x,y)和stroke()幾個方法,讓我們來回憶下線寬的用法。

function drawLine(){      cxt.lineWidth = 3;      cxt.moveTo(10, 10);      cxt.lineTo(120, 100);      cxt.stroke();  }

上面的代碼我們就可以繪制一條寬度為3像素的線段。

上一章我們還提到線寬與像素邊界的內容主要為:
如果你在某2個像素的邊界處繪制一條1像素寬的線段,那么該線段實際會占據2個像素的寬度;

因為當你在像素邊界處繪制一條1像素寬度的垂直線段時,canvas的繪圖環境對象會試著將半個像素畫在邊界中線的右邊,將另外半個像素畫在邊界中線的左邊。

然而,在一個整像素的范圍內繪制半個像素寬的線段是不可能的,所以在左右兩個方向上的半個像素都被擴展為1個像素。(具體內容可參考第三章內容);

今天這章內容我們用來看看線段的其它屬性 lineCap,lineJoin。

線段的端點(lineCap)

在繪制線段時,你可以控制線段的端點,也就是 “線帽” (lineCap)的樣子,在Canvas的繪圖環境對象中,控制線段端點的屬性正好也叫作lineCap。
線段端點的樣式有三個值,分別是butt, roundm, square, 默認是為butt; round與square 都會給線段的端點畫上一頂帽子。

  • butt:線段端點的默認樣式

  • round:在端點處添加一個半圓,其半徑是線寬的一半。

  • square: 在端點處添加一個矩形,長度與線寬一致,寬度是線寬的一半。

看到這里貌似我們也看不出什么名堂。那我們就先繪制出來,你就會瞬間明白了。要不怎么都說要數據可視化呢!

function lineCap(){      cxt.lineWidth = 20;      cxt.strokeStyle = '#16a085';        cxt.beginPath();      cxt.lineCap = 'butt';      cxt.moveTo(20, 20);      cxt.lineTo(300, 20);      cxt.stroke();        cxt.beginPath();      cxt.lineCap = 'round';      cxt.moveTo(20, 100);      cxt.lineTo(300, 100);      cxt.stroke();        cxt.beginPath();      cxt.lineCap = 'square';      cxt.moveTo(20, 180);      cxt.lineTo(300, 180);      cxt.stroke();  }

canvas中線段的端點與連接點詳解

看到上面的圖片是不是瞬間就知道了lineCap的屬性值的樣式,是不是也感受到了可視化的魅力。

線段的連接點(lineJoin)

在繪制線段或者矩形時,我們可以控制兩條線段連接處的拐點,也就是線段的連接點。
在canvas繪圖環境中線段的連接點是由 lineJoin屬性控制的。
lineJoin屬性也有三個值分別為: round, bevel, miter,默認是miter。

  • round:額外填充一個圓弧,圓弧為兩條線段拐角的外邊緣的點用圓弧連接而成,

  • bevel:額外填充一個三角形,三角形為兩條線段拐角的外邊緣的點用直線連接而成。

  • miter:額外填充一個多邊形,多邊形為兩條線段拐角外邊緣的延長線的交點形成。

同樣我們繪制出來看一下

function lineCap(){      cxt.lineWidth = 20;      cxt.strokeStyle = '#16a085';        cxt.beginPath();      cxt.lineJoin = 'round';      cxt.moveTo(20, 20);      cxt.lineTo(300, 20);      cxt.lineTo(300, 60);      cxt.stroke();        cxt.beginPath();      cxt.lineJoin = 'bevel';      cxt.moveTo(20, 100);      cxt.lineTo(300, 100);      cxt.lineTo(300, 140);      cxt.stroke();        cxt.beginPath();      cxt.lineJoin = 'miter';      cxt.moveTo(20, 180);      cxt.lineTo(300, 180);      cxt.lineTo(300, 220);      cxt.stroke();  }

canvas中線段的端點與連接點詳解

我們再來看看線段連接點的具體構建方式

canvas中線段的端點與連接點詳解

提示

當我們使用miter樣式來繪制線段的連接點時,我們還可以指定一個miterLimit屬性
miterLimit: 表示斜接線(miter)的長度與二分之一線寬的比值;

斜接線的計量方式如下圖

canvas中線段的端點與連接點詳解

從圖中我們可以看出,如果兩個線段的夾角很小的話,那么斜接線的長度有可能會變的非常長,它與二分之一線寬的比值就會超出你所指定的miterLimit的屬性值,

這時候瀏覽器會將以bevel的方式來繪制線段的連接點。

總結

Canvas繪圖環境中線段的相關屬性

屬性 描述 默認值
lineWidth 以像素為單位的線段寬度 非零的正數 1
lineCap 繪制線段的端點樣式 butt,round,square butt
lineJoin 線段連接點的樣式 bevel,round,miter miter
miterLimit 斜接線與二分之一線寬的比值 非零的正數 10

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
国产亚洲人成a在线v网站| 视频一区二区三区在线| 美国欧美日韩国产在线播放| 一区免费在线| 国产精品日韩欧美一区| 免费久久99精品国产自在现线| 欧美午夜不卡| 国产精品外国| 亚洲深夜福利在线观看| 亚洲2区在线| 国产欧美日韩免费观看| 欧美激情麻豆| 日韩伦理一区| 韩日一区二区| 欧美13videosex性极品| 电影91久久久| 精品日韩毛片| 在线国产一区二区| 国产毛片久久| 日本成人手机在线| 国产精品xxx在线观看| 久久香蕉网站| 久久婷婷久久| 丝袜诱惑制服诱惑色一区在线观看| 蜜桃视频免费观看一区| 日韩av网站在线观看| 国产精品v亚洲精品v日韩精品| 精品欠久久久中文字幕加勒比| 久久激情综合网| 国产在线观看91一区二区三区| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 欧美特黄视频| 三级久久三级久久久| 国产精品对白| 国产亚洲一区二区手机在线观看| 99re国产精品| 日本成人精品| 欧美三级网址| 日本成人手机在线| 色偷偷偷在线视频播放| 模特精品在线| 国产精品日本一区二区三区在线| 国产欧美一区二区三区精品酒店| 99综合视频| 国产美女精品视频免费播放软件| 欧美www视频在线观看| 久久av在线| 久久精品国内一区二区三区| japanese国产精品| 国产麻豆精品久久| 亚洲v在线看| 日韩高清二区| 亚洲欧洲美洲av| 亚洲三级视频| 国产精品精品国产一区二区| 99国产精品视频免费观看一公开 | 国语对白精品一区二区| 午夜精品免费| 欧美国产视频| 亚洲一区中文| 国产成人久久| 亚洲一区有码| av高清一区| 青青伊人久久| 麻豆91小视频| 日韩欧美中文字幕电影 | 黄色在线网站噜噜噜| 亚洲一区日韩| 国产精品精品| 国产日韩欧美三级| 国产精品普通话对白| 国产一区二区三区四区五区| 亚洲毛片在线免费| 久久精品国产www456c0m| 国产精品男女| 男女男精品视频网| 99精品网站| 在线国产日韩| 日韩精品欧美激情一区二区| 国产精品一区二区三区www| 日韩一区二区免费看| 岛国av在线网站| 国产精品一国产精品k频道56| 亚洲综合日韩| 日韩在线二区| 久久天堂影院| 日本va欧美va瓶| 好吊一区二区三区| 蜜臀国产一区| 久久伊人亚洲| 日本精品久久| 美女国产一区| 久久人人97超碰国产公开结果| 欧美极品中文字幕| 日本不卡不码高清免费观看| 黄页网站一区| 伊人精品一区| 国产中文欧美日韩在线| 99成人在线| 久久精品中文| 久久97视频| 国产精品一区二区三区四区在线观看 | 日韩免费福利视频| 亚洲伊人精品酒店| 免费精品国产| 深夜视频一区二区| 国产粉嫩在线观看| 久久精品国产网站| 国产黄色一区| 国产精品免费精品自在线观看| 日韩精品a在线观看91| 亚洲久久视频| 日韩中文字幕区一区有砖一区 | 久久国产电影| 麻豆理论在线观看| 久久免费福利| 国产欧美一区二区精品久久久| 日韩精品免费视频一区二区三区| 伊人成人网在线看| 精品一区欧美| 99在线|亚洲一区二区| 99视频一区| 亚洲欧美不卡| 美女久久久精品| 亚洲在线久久| 亚洲乱亚洲高清| 午夜亚洲一区| 久热re这里精品视频在线6| 国产婷婷精品| 久久国产精品99国产| 99视频精品| 午夜精品免费| 亚洲我射av| 亚洲综合婷婷| 日韩福利视频一区| 国产精品视频首页| 国产成人精品亚洲线观看 | 91精品国产自产精品男人的天堂| 亚洲字幕久久| 国产伦精品一区二区三区千人斩| 国产精品一级| 在线看片国产福利你懂的| 成人三级高清视频在线看| 日韩精品影视| 六月天综合网| 国产欧美一区二区精品久久久 | 国产91精品对白在线播放| 天堂√8在线中文| 久久久亚洲一区| 欧美日韩视频| 日本中文字幕视频一区| 国产欧美日韩一区二区三区在线| 久久精品国产99国产| av在线资源| 在线一区免费观看| 日韩av中文字幕一区二区| 免费亚洲婷婷| 国产99精品一区| 日韩毛片网站| 国产成人77亚洲精品www| 999久久久精品国产| 一级成人国产| 老色鬼精品视频在线观看播放| 蜜桃av在线播放| 国产精品美女| 国产免费久久| 亚洲国产综合在线看不卡| 亚洲欧美视频| 老牛国内精品亚洲成av人片| 久久国产成人午夜av影院宅| 亚洲精品无吗| 成人精品国产亚洲| 国产麻豆综合| 久久精品国产99国产| 亚洲欧洲一区二区天堂久久| 91精品日本| 久久精品91| 日韩精品a在线观看91| 中文字幕在线看片| 欧美成人国产| 69堂精品视频在线播放| 日韩欧美综合| 日韩av资源网| 免费不卡中文字幕在线| 国产精品国码视频| 久久中文视频| 国产欧美自拍| 欧美日韩国产在线一区| 美腿丝袜亚洲一区| 久久午夜影视| 92国产精品| 国产亚洲精品美女久久| 1024精品一区二区三区| 国产精品日本一区二区三区在线 | 亚洲资源在线| 日韩欧美另类一区二区| 久久激五月天综合精品| 99视频在线精品国自产拍免费观看| 国产精品videosex极品| 久久午夜精品|