gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费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號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
av网站大全免费| 日本黄大片一区二区三区| 激情五月亚洲色图| 精品中文字幕av| 国产女大学生av| 国产美女三级视频| www.日日操| 亚洲天堂网2018| 婷婷激情综合五月天| 91社在线播放| 国产精品视频一二三四区| 成人短视频在线观看免费| 视频一区二区视频| 日韩欧美视频免费在线观看| 今天免费高清在线观看国语| 人妻无码一区二区三区四区| 日韩精品视频在线观看视频| 欧美图片激情小说| 青青视频在线播放| 黄色在线视频网| 91免费视频黄| 久久久久狠狠高潮亚洲精品| av污在线观看| 久久久天堂国产精品| 男女高潮又爽又黄又无遮挡| 天天操天天爽天天射| 中文字幕色网站| 日本在线xxx| 中文字幕永久有效| 国产欧美精品aaaaaa片| 日本精品免费在线观看| 做a视频在线观看| 草b视频在线观看| 亚洲一区二区三区四区五区xx| 久久6免费视频| 欧美久久久久久久久久久久久| 手机看片福利盒子久久| dy888午夜| 天天爽夜夜爽一区二区三区| 日本福利视频网站| 一个色综合久久| www精品久久| 欧美国产日韩另类| 日韩精品一区二区三区不卡| 免费不卡av网站| 91蝌蚪视频在线观看| 国产精品久久久久7777| 日韩欧美亚洲另类| 亚洲精品高清无码视频| 久久这里只有精品8| 色网站在线视频| 黄在线观看网站| 国产精品又粗又长| 妞干网这里只有精品| 99日在线视频| 黄色一级片免费的| 中文字幕在线导航| 国产中文字幕二区| mm131午夜| 久久精品久久99| 亚洲高清av一区二区三区| 天天操狠狠操夜夜操| 日韩一级片播放| 青青青国产在线视频| 欧美少妇性生活视频| 草草草在线视频| www.日日操| wwwwww.色| 91亚洲精品久久久蜜桃借种| 天天色综合社区| 日韩精品你懂的| 中文字幕亚洲影院| 天堂av2020| 亚洲第一综合网站| 国产毛片久久久久久国产毛片| 国产精品视频一二三四区| 免费在线黄网站| 日韩中字在线观看| www黄色av| 久久黄色免费看| 亚洲18在线看污www麻豆| 岛国av在线免费| 蜜桃网站在线观看| 成人免费性视频| 日韩欧美xxxx| 国产91av视频在线观看| 欧美极品少妇无套实战| 亚洲国产精品久久久久婷蜜芽| 日本黄色三级大片| 国产永久免费网站| 久草视频国产在线| 国产超碰在线播放| 日本天堂免费a| 成年人视频在线免费| 久久精品一卡二卡| 日本手机在线视频| 男人添女人下面免费视频| 欧美激情第3页| 欧美 日韩 国产在线观看| 五月婷婷激情久久| av片在线免费| 亚洲欧美天堂在线| 国产91美女视频| 国产成人精品免费看在线播放| 少妇高潮喷水在线观看| 男人添女人下面免费视频| 人妻无码久久一区二区三区免费| 国产三级日本三级在线播放| 欧美一级爱爱视频| 国产高潮免费视频| 精品这里只有精品| 青青在线免费视频| 在线观看国产一级片| 黄色一级视频在线播放| 交换做爰国语对白| 国产精品久久久毛片| 成人在线免费在线观看| 欧美性猛交内射兽交老熟妇| 8x8x成人免费视频| 五月婷婷六月丁香激情| 免费高清在线观看免费| 成人性生活视频免费看| 无码人妻精品一区二区蜜桃百度| 一道本在线免费视频| 免费观看成人在线视频| 加勒比成人在线| 久久精品无码中文字幕| 无码人妻aⅴ一区二区三区日本| 天天干天天干天天干天天干天天干| 亚洲中文字幕无码av永久| 免费日韩在线观看| 国产911在线观看| 一级全黄肉体裸体全过程| 午夜免费福利网站| 一区二区三区四区久久| 99热都是精品| 免费的一级黄色片| 免费不卡av在线| 久久久一本二本三本| 丝袜老师办公室里做好紧好爽| 欧美精品自拍视频| 久久综合色视频| 老头吃奶性行交视频| 一级在线免费视频| 日韩va在线观看| 九九久久九九久久| 日本中文字幕网址| 欧美 日韩 国产 激情| 自拍偷拍21p| 两性午夜免费视频| 国产女教师bbwbbwbbw| 亚洲国产成人精品无码区99| 北条麻妃在线视频观看| 欧美日韩在线免费播放| 免费成人黄色大片| 精品人妻人人做人人爽| 欧美 日韩 国产 高清| 人人爽人人av| 久久av高潮av| www亚洲成人| 久久久久久久香蕉| 亚洲性生活网站| 男人添女人荫蒂免费视频| 日日噜噜噜噜久久久精品毛片| 熟妇熟女乱妇乱女网站| 国产精品一区二区免费在线观看| 天天操天天爽天天射| 国产在线无码精品| 中文字幕国内自拍| 免费拍拍拍网站| 成人性生交视频免费观看| 精品少妇一区二区三区在线| 亚洲色图偷拍视频| 日韩精品无码一区二区三区免费 | 四虎永久免费网站| 日韩精品―中文字幕| 天天操夜夜操很很操| 青青草国产精品视频| 中文字幕亚洲影院| 国产成人亚洲精品无码h在线| 国内自拍第二页| 日本成人黄色网| 欧美牲交a欧美牲交| 日本丰满大乳奶| 国产精欧美一区二区三区白种人| 日日橹狠狠爱欧美超碰| 日韩一级免费看| 香蕉视频xxxx| 9久久婷婷国产综合精品性色| 成人免费在线网| 欧美日韩中文字幕在线播放| av亚洲天堂网| 不卡的av中文字幕| 午夜dv内射一区二区| 玩弄japan白嫩少妇hd| 国内外成人免费激情视频| 日本午夜激情视频| 91丨porny丨探花| 99久久国产综合精品五月天喷水| 国产激情片在线观看|