日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

《Web前端开发精品课——HTML5 Canvas开发详解》——第一部分第二章节

發(fā)布時(shí)間:2024/3/24 HTML 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《Web前端开发精品课——HTML5 Canvas开发详解》——第一部分第二章节 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本節(jié)書摘來自異步社區(qū)《Web前端開發(fā)精品課——HTML5 Canvas開發(fā)詳解》一書中的第1部分,第2章,作者:莫振杰 著,更多章節(jié)內(nèi)容可以訪問云棲社區(qū)“異步社區(qū)”公眾號(hào)查看

第2章 直線圖形

2.1 直線圖形簡(jiǎn)介

在Canvas中,基本圖形有兩種:①直線圖形;②曲線圖形。Canvas常見的直線圖形有三種,分另是直線、矩形、多邊形。

這一章我們先來學(xué)習(xí)Canvas中的直線圖形。

2.2 直線

2.2.1 Canvas坐標(biāo)系
在學(xué)習(xí)Canvas之前,我們先來介紹一下Canvas中的坐標(biāo)系是如何使用的。了解Canvas使用的坐標(biāo)系是學(xué)習(xí)Canvas的最基本的前提。

我們經(jīng)常見到的坐標(biāo)系是數(shù)學(xué)坐標(biāo)系,而Canvas使用的坐標(biāo)系是W3C坐標(biāo)系,這兩種坐標(biāo)系唯一的區(qū)別在于y軸正方向的不同。

(1)數(shù)學(xué)坐標(biāo)系:y軸正方向向上。

(2)W3C坐標(biāo)系:y軸正方向向下。

注意:W3C坐標(biāo)系的y軸正方向是向下的。很多小伙伴學(xué)到后面對(duì)Canvas一些代碼感到很困惑,那是因?yàn)樗麄儧]有清楚地意識(shí)到這一點(diǎn)。

數(shù)學(xué)坐標(biāo)系一般用于數(shù)學(xué)形式上的應(yīng)用,而在前端開發(fā)中幾乎所有涉及坐標(biāo)系的技術(shù)使用的都是W3C坐標(biāo)系,這些技術(shù)包括CSS3、Canvas、SVG等。了解這一點(diǎn),我們以后在學(xué)習(xí)CSS3或者SVG的時(shí)候,很多知識(shí)就可以串起來了。數(shù)字坐標(biāo)系和w3c坐標(biāo)系如圖2-1所示。

2.2.2 直線的繪制

在Canvas中,可以使用moveTo()和lineTo()這兩個(gè)方法配合使用來畫直線。利用這兩個(gè)方法,我們可以畫一條直線,也可以同時(shí)畫多條直線。

1.一條直線

語法:

cxt.moveTo(x1, y1); cxt.lineTo(x2, y2); cxt.stroke();

說明:
cxt表示上下文環(huán)境對(duì)象context。

(x1,y1)表示直線“起點(diǎn)”的坐標(biāo)。moveTo的含義是“將畫筆移到該點(diǎn)(x1,y1)位置上,然后開始繪圖”。

(x2,y2)表示直線“終點(diǎn)”的坐標(biāo)。lineTo的含義是“將畫筆從起點(diǎn)(x1,y1)開始畫直線,一直畫到終點(diǎn)坐標(biāo)(x2,y2)”。

對(duì)于moveTo()和lineTo()這兩個(gè)方法,從英文意思角度更容易幫助我們理解和記憶。

cxt.moveTo(x1, y1); cxt.lineTo(x2, y2);

上面兩句代碼僅僅是確定直線的“起點(diǎn)坐標(biāo)”和“終點(diǎn)坐標(biāo)”這兩個(gè)狀態(tài),但是實(shí)際上畫筆還沒開始“動(dòng)”。因此我們還需要調(diào)用上下文對(duì)象的stroke()方法才有效。

使用Canvas畫直線,與我們平常用筆在紙張上畫直線是一樣的道理,都是先確定直線起點(diǎn)(x1,y1)與終點(diǎn)(x2,y2),然后再用筆連線(stroke())。

舉例:

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title></title><meta charset="utf-8" /><script type="text/javascript">function $$ (id){return document.getElementById(id);}window.onload = function () {var cnv = $$ ("canvas");var cxt = cnv.getContext("2d");cxt.moveTo(50, 100);cxt.lineTo(150, 50);cxt.stroke();}</script> </head> <body><canvas id="canvas" width="200" height="150" style="border:1px dashed gray;"></canvas> </body> </html>

在瀏覽器中的預(yù)覽效果如圖2-2所示。


分析:
在這個(gè)例子中,我們定義了一個(gè)獲取DOM對(duì)象元素的函數(shù)

$$ (id),這樣減少了重復(fù)代碼量,使得思路更加清晰。記住,Canvas中使用的坐標(biāo)系是“W3C坐標(biāo)系”。其中這個(gè)例子的分析圖如圖2-3所示。 ![image](https://yqfile.alicdn.com/f4a93c65d0061fad6cd7a1956d01cc3a219d1625.png) #### 2.多條直線 從上面可以知道,使用moveTo()和lineTo()這兩個(gè)方法可以畫一條直線。其實(shí)如果我們想要同時(shí)畫多條直線,也是使用這兩種方法。 語法:

cxt.moveTo(x1, y1); cxt.lineTo(x2, y2); cxt.lineTo(x3, y3); …… cxt.stroke();

說明:
lineTo()方法是可以重復(fù)使用的。第一次使用lineTo()后,畫筆將自動(dòng)移到終點(diǎn)坐標(biāo)位置,第二次使用lineTo()后,Canvas會(huì)以“上一個(gè)終點(diǎn)坐標(biāo)”作為第二次調(diào)用的起點(diǎn)坐標(biāo),然后再開始畫直線,以此類推。下面先來看個(gè)例子,這樣更容易理解些。

舉例:畫兩條直線

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title></title><meta charset="utf-8" /><script type="text/javascript">function $$ (id){return document.getElementById(id);}window.onload = function () {var cnv = $$ ("canvas");var cxt = cnv.getContext("2d");cxt.moveTo(50,50);cxt.lineTo(100,50);cxt.moveTo(50,100);cxt.lineTo(100,100);cxt.stroke();}</script> </head> <body><canvas id="canvas" width="200" height="150" style="border:1px dashed gray;"></canvas> </body> </html>

在瀏覽器中的預(yù)覽效果如圖2-4所示。


分析:
記住,moveTo的含義是:將畫筆移到該點(diǎn)的位置,然后開始繪圖。lineTo的含義是:將畫筆從起點(diǎn)開始畫直線,一直到終點(diǎn)坐標(biāo)。

如果將cxt.moveTo(50,100);改為cxt.lineTo(50,100);,在瀏覽器中的預(yù)覽效果如圖2-5所示。大家根據(jù)這個(gè)例子仔細(xì)琢磨一下moveTo()與lineTo()兩個(gè)方法的區(qū)別。


舉例:用直線畫一個(gè)三角形

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title></title><meta charset="utf-8" /><script type="text/javascript">function $$ (id){return document.getElementById(id);}window.onload = function () {var cnv = $$ ("canvas");var cxt = cnv.getContext("2d");cxt.moveTo(50, 100);cxt.lineTo(150, 50);cxt.lineTo(150, 100);cxt.lineTo(50, 100);cxt.stroke();}</script> </head> <body><canvas id="canvas" width="200" height="150" style="border:1px dashed gray;"></canvas> </body> </html>

在瀏覽器中的預(yù)覽效果如圖2-6所示。


分析:
這里使用moveTo()與lineTo()方法畫了一個(gè)三角形。在畫三角形之前,我們事先要確定三角形三個(gè)頂點(diǎn)的坐標(biāo)。

舉例:用直線畫一個(gè)矩形

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title></title><meta charset="utf-8" /><script type="text/javascript">function $$ (id){return document.getElementById(id);}window.onload = function () {var cnv = $$ ("canvas");var cxt = cnv.getContext("2d");cxt.moveTo(50, 100);cxt.lineTo(50,50); cxt.lineTo(150, 50);cxt.lineTo(150, 100);cxt.lineTo(50, 100);cxt.stroke();}</script> </head> <body><canvas id="canvas" width="200" height="150" style="border:1px dashed gray;"></canvas> </body> </html>

在瀏覽器中的預(yù)覽效果如圖2-7所示。


分析:
這里使用moveTo()和lineTo()方法畫了一個(gè)矩形。在畫矩形之前,我們也需要事先確定矩形四個(gè)頂點(diǎn)坐標(biāo)的(這幾個(gè)坐標(biāo)值不是隨便來的,而是要計(jì)算出來的)。

其實(shí)在Canvas中,使用moveTo()和lineTo()方法可以畫各種多邊形如三角形、矩形、多邊形等。在實(shí)際開發(fā)中,對(duì)于三角形和多邊形,我們都是用moveTo()和lineTo()來實(shí)現(xiàn)。但是對(duì)于矩形來說,Canvas為我們提供了更為簡(jiǎn)單的一套方法,在下一節(jié)中將給大家詳細(xì)介紹。

2.3 矩形

從上一節(jié)我們知道,可以將moveTo()和lineTo()配合使用來畫一個(gè)矩形。但是這種畫矩形的方法代碼量過多,因此在實(shí)際開發(fā)中并不推薦使用。

對(duì)于繪制矩形,Canvas還為我們提供了獨(dú)立的方法來實(shí)現(xiàn)。在Canvas中,矩形分為兩種,即“描邊”矩形和“填充”矩形。

2.3.1 “描邊”矩形

在Canvas中,我們可以將strokeStyle屬性和strokeRect()方法配合使用來畫一個(gè)“描邊矩形”。

語法:

cxt.strokeStyle = 屬性值; cxt.strokeRect(x,y,width,height);

說明:
strokeStyle是context對(duì)象的一個(gè)屬性,而strokeRect()是content對(duì)象的一個(gè)方法。大家要區(qū)分好什么叫屬性,什么叫方法。

(1)strokeStyle屬性

strokeStyle屬性取值有三種,即顏色值、漸變色、圖案。對(duì)于strokeStyle取值為漸變色和圖案的情況,我們?cè)诤罄m(xù)章節(jié)會(huì)詳細(xì)講解。現(xiàn)在先來看一下strokeStyle取值為顏色值的幾種情況:

cxt.strokeStyle = "#FF0000"; //十六進(jìn)制顏色值 cxt.strokeStyle = "red"; //顏色關(guān)鍵字 cxt.strokeStyle = "rgb(255,0,0)"; //rgb顏色值 cxt.strokeStyle = "rgba(255,0,0,0.8)"; //rgba顏色值

(2)strokeRect()方法

strokeRect()方法用于確定矩形的坐標(biāo),其中x和y為矩形最左上角的坐標(biāo)。注意,凡是對(duì)于Canvas中的坐標(biāo),大家一定要根據(jù)W3C坐標(biāo)系來理解。此外width表示矩形的寬度,height表示矩形的高度,默認(rèn)情況下width和height都是以px為單位的。strokeRect()方法分析圖如圖2-8所示。


我們還要特別注意一點(diǎn),strokeStyle屬性必須在strokeRect()方法之前定義,否則strokeStyle屬性無效。也就是說,在“畫(strokeRect())”之前一定要把應(yīng)有的參數(shù)(如strokeStyle)設(shè)置好。Canvas是根據(jù)已設(shè)置的參數(shù)來“畫”圖形的,其實(shí)這跟我們平常畫畫是一樣的道理:在動(dòng)筆之前首先需要確定將要畫什么東西,顏色是什么,然后再用筆畫出來。

舉例:

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title></title><meta charset="utf-8" /><script type="text/javascript">function $$ (id){return document.getElementById(id);}window.onload = function () {var cnv = $$ ("canvas");var cxt = cnv.getContext("2d");cxt.strokeStyle = "red";cxt.strokeRect(50, 50, 80, 80);}</script> </head> <body><canvas id="canvas" width="200" height="150" style="border:1px dashed gray;"></canvas> </body> </html>

在瀏覽器中的預(yù)覽效果如圖2-9所示。


分析:
當(dāng)將cxt.strokeStyle = "red";和cxt.strokeRect(50, 50, 80, 80);這兩句代碼位置互換順序后,strokeStyle屬性就不會(huì)生效了。大家可以自行在本地編輯器中修改測(cè)試一下,看看實(shí)際效果。上面例子的分析如圖2-10所示。

2.3.2  “填充”矩形

在Canvas中,我們可以將fillStyle屬性和fillRect()方法配合使用來畫一個(gè)“填充矩形”。

語法:

cxt.fillStyle=屬性值; cxt.fillRect(x, y, width, height);

說明:
fillStyle是context對(duì)象的一個(gè)屬性,而fillRect()是context對(duì)象的一個(gè)方法。

fillStyle屬性跟strokeStyle屬性一樣,取值也有三種,即顏色值、漸變色、圖案。

fillRect()方法跟strokeRect()方法一樣,用于確定矩形的坐標(biāo),其中x和y為矩形最左上角的坐標(biāo),width表示矩形的寬度,height表示矩形的高度。

跟描邊矩形一樣,填充矩形的fillStyle屬性也必須在fillRect()方法之前定義,否則fillStyle屬性無效。分析如圖2-11所示。


舉例:

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title></title><meta charset="utf-8" /><script type="text/javascript">function $$ (id){return document.getElementById(id);}window.onload = function () {var cnv = $$ ("canvas");var cxt = cnv.getContext("2d");cxt.fillStyle = "HotPink";cxt.fillRect(50, 50, 80, 80);}</script> </head> <body><canvas id="canvas" width="200" height="150" style="border:1px dashed gray;"></canvas> </body> </html>

在瀏覽器中的預(yù)覽效果如圖2-12所示。


分析:
當(dāng)我們將cxt.fillStyle = "HotPink";和cxt.fillRect(50, 50, 80, 80);這兩句代碼位置互換順序后,fillStyle屬性就不會(huì)生效了。大家可以自行在本地編輯器中修改測(cè)試一下,看看實(shí)際效果。上面例子分析如圖2-13所示。


舉例:

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title></title><meta charset="utf-8" /><script type="text/javascript">function $$ (id) {return document.getElementById(id);}window.onload = function () {var cnv = $$ ("canvas");var cxt = cnv.getContext("2d");cxt.strokeStyle = "red";cxt.strokeRect(50, 50, 80, 80);cxt.fillStyle = "#FFE8E8";cxt.fillRect(50, 50, 80, 80);}</script> </head> <body><canvas id="canvas" width="200" height="150" style="border:1px dashed gray;"></canvas> </body> </html>

在瀏覽器中的預(yù)覽效果如圖2-14所示。


分析:
在這個(gè)例子中,我們同時(shí)使用了“描邊矩形”和“填充矩形”。

舉例:

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title></title><meta charset="utf-8" /><script type="text/javascript">function $$ (id) {return document.getElementById(id);}window.onload = function () {var cnv = $$ ("canvas");var cxt = cnv.getContext("2d");cxt.fillStyle = "HotPink";cxt.fillRect(50, 50, 80, 80);cxt.fillStyle = "rgba(0,0,255,0.3)";cxt.fillRect(30, 30, 80, 80);}</script> </head> <body><canvas id="canvas" width="200" height="150" style="border:1px dashed gray;"></canvas> </body> </html>

在瀏覽器中的預(yù)覽效果如圖2-15所示。


分析:
這里我們畫了兩個(gè)矩形:第一個(gè)矩形使用了十六進(jìn)制顏色值,第二個(gè)矩形使用了RGBA顏色值。

2.3.3 rect()方法

在Canvas,如果想要繪制一個(gè)矩形,除了使用strokeRect()和fillRect()這兩種方法之外,我們還可以使用rect()方法,如圖2-16所示。


語法:

rect(x,y,width,height);

說明:
x和y為矩形最左上角的坐標(biāo),width表示矩形的寬度,height表示矩形的高度。

strokeRect()、fillRect()和rect()都可以畫矩形。這三種方法參數(shù)是相同的,不同在于實(shí)現(xiàn)效果方面。其中strokeRect()和fillRect()這兩個(gè)方法在調(diào)用之后,會(huì)立即把矩形繪制出來。而rect()方法在調(diào)用之后,并不會(huì)把矩形繪制出來。只有在使用rect()方法之后再調(diào)用stroke()或者fill()方法,才會(huì)把矩形繪制出來。

(1)rect()和stroke()

cxt.strokeStyle="red"; cxt.rect(50,50,80,80); cxt.stroke();

上述代碼等價(jià)于:

cxt.strokeStyle="red"; cxt.strokeRect(50,50,80,80);

(2)rect()和fill()

cxt.fillStyle="red"; cxt.rect(50,50,80,80); cxt.fill();

上述代碼等價(jià)于:

cxt.fillStyle="red"; cxt.fillRect(50,50,80,80);

舉例:

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title></title><meta charset="utf-8" /><script type="text/javascript">function $$ (id){return document.getElementById(id);}window.onload = function () {var cnv = $$ ("canvas");var cxt = cnv.getContext("2d");//繪制描邊矩形cxt.strokeStyle = "red";cxt.rect(50, 50, 80, 80);cxt.stroke();//繪制填充矩形cxt.fillStyle = "#FFE8E8";cxt.rect(50, 50, 80, 80);cxt.fill();}</script> </head> <body><canvas id="canvas" width="200" height="150" style="border:1px dashed gray;"></canvas> </body> </html>

在瀏覽器中的預(yù)覽效果如圖2-17所示。

2.3.4 清空矩形

在Canvas中,我們可以使用clearRect()方法來清空“指定矩形區(qū)域”。

語法:

cxt.clearRect(x, y, width, height);

說明:
x和y分別表示清空矩形區(qū)域最左上角的坐標(biāo),width表示矩形的寬度,height表示矩形的高度。

舉例:

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title></title><meta charset="utf-8" /><script type="text/javascript">function $$ (id){return document.getElementById(id);}window.onload = function () {var cnv = $$ ("canvas");var cxt = cnv.getContext("2d");cxt.fillStyle = "HotPink";cxt.fillRect(50, 50, 80, 80);cxt.clearRect(60, 60, 50, 50);}</script> </head> <body><canvas id="canvas" width="200" height="150" style="border:1px dashed gray;"></canvas> </body> </html>

在瀏覽器中的預(yù)覽效果如圖2-18所示。


分析:
這里使用clearRect()方法來清空指定區(qū)域的矩形。這個(gè)例子分析如圖2-19所示。


舉例:

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title></title><meta charset="utf-8" /><script type="text/javascript">function $$ (id) {return document.getElementById(id);}window.onload = function () {var cnv = $$ ("canvas");var cxt = cnv.getContext("2d");cxt.fillStyle = "HotPink";cxt.fillRect(50, 50, 80, 80);var btn = $$ ("btn");btn.onclick = function () {cxt.clearRect(0, 0, cnv.width, cnv.height);}}</script> </head> <body><canvas id="canvas" width="200" height="150" style="border:1px dashed gray;"></canvas><br /><input id="btn" type="button" value="清空canvas"/> </body> </html>

在瀏覽器中的預(yù)覽效果如圖2-20所示。


分析:
cxt.clearRect(0, 0, cnv.width, cnv.height);用于清空整個(gè)Canvas。其中,cnv.width表示獲取Canvas的寬度,cnv.height表示獲取Canvas的高度。“清空整個(gè)Canvas”這個(gè)技巧在Canvas動(dòng)畫開發(fā)中會(huì)經(jīng)常用到,大家一定要記住。至于怎么用,在接下來的章節(jié)里,我們會(huì)慢慢接觸到。

最后再次強(qiáng)調(diào)一下:所有Canvas圖形操作的屬性和方法都是基于context對(duì)象的。

2.4 多邊形

從之前的學(xué)習(xí)我們知道,可以將moveTo()和lineTo()配合使用來畫三角形和矩形。其實(shí)在Canvas中,多邊形也是使用moveTo()和lineTo()這兩個(gè)方法畫出來的。

如果我們想要在Canvas中畫多邊形,則需要事先在草稿紙或軟件中計(jì)算出多邊形中各個(gè)頂點(diǎn)的坐標(biāo),然后再使用moveTo()和lineTo()在Canvas中畫出來。

跟矩形不一樣,Canvas沒有專門用來繪制三角形和多邊形的方法。對(duì)于三角形以及多邊形,我們也是使用moveTo()和lineTo()這兩個(gè)方法來實(shí)現(xiàn)。

2.4.1 Canvas繪制箭頭

對(duì)于箭頭,我們都是事先確定箭頭的7個(gè)頂點(diǎn)坐標(biāo),然后使用moveTo()和lineTo()來繪制出來的。

舉例:

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title></title><meta charset="utf-8" /><script type="text/javascript">function $$ (id) {return document.getElementById(id);}window.onload = function () {var cnv = $$ ("canvas");var cxt = cnv.getContext("2d");cxt.moveTo(40, 60);cxt.lineTo(100, 60);cxt.lineTo(100, 30);cxt.lineTo(150, 75);cxt.lineTo(100, 120);cxt.lineTo(100, 90);cxt.lineTo(40, 90);cxt.lineTo(40, 60);cxt.stroke();}</script> </head> <body><canvas id="canvas" width="200" height="150" style="border:1px dashed gray;"></canvas> </body> </html>

在瀏覽器中的預(yù)覽效果如圖2-21所示。在瀏覽器中的預(yù)覽效果如圖2-21所示。


分析:
在繪制之前,首先需要計(jì)算出箭頭各個(gè)頂點(diǎn)的坐標(biāo)。

2.4.2 Canvas繪制正多邊形

正多邊形在實(shí)際開發(fā)中也經(jīng)常見到,要想繪制正多邊形,需首先了解一下最簡(jiǎn)單的正多邊形,即正三角形。正三角形分析圖如圖2-22所示。


根據(jù)正三角形的特點(diǎn),可以將其封裝一個(gè)繪制正多邊形的函數(shù):createPolygon()。

舉例:

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title></title><meta charset="utf-8" /><script type="text/javascript">function $$ (id) {return document.getElementById(id);}window.onload = function () {var cnv = $$ ("canvas");var cxt = cnv.getContext("2d");//調(diào)用自定義的方法createPolygon()createPolygon(cxt, 3, 100, 75, 50);cxt.fillStyle = "HotPink";cxt.fill();}/** n:表示n邊形* dx、dy:表示n邊形中心坐標(biāo)* size:表示n邊形的大小*/function createPolygon(cxt, n, dx, dy, size) {cxt.beginPath();var degree = (2 * Math.PI )/ n;for (var i = 0; i < n; i++) {var x = Math.cos(i * degree);var y = Math.sin(i * degree);cxt.lineTo(x * size + dx, y * size + dy);}cxt.closePath();}</script> </head> <body><canvas id="canvas" width="200" height="150" style="border:1px dashed gray;"></canvas> </body> </html>

在瀏覽器中的預(yù)覽效果如圖2-23所示。


分析:
cxt.beginPath();用于開始一條新路徑,cxt.closePath();用于關(guān)閉路徑。對(duì)于beginPath()和closePath()這兩個(gè)方法,我們?cè)凇暗?0章 Canvas路徑”中將會(huì)詳細(xì)介紹,這里不需要深入太多。

在這個(gè)例子中,我們定義了一個(gè)繪制多邊形的函數(shù)。對(duì)于這個(gè)函數(shù),可以加入更多的參數(shù)如顏色、邊框等,然后可以把它封裝到我們的私人圖形庫里面去。

當(dāng)createPolygon(cxt, 3, 100, 75, 50);改為createPolygon(cxt, 4, 100, 75, 50);時(shí),瀏覽器中的預(yù)覽效果如圖2-24所示。


當(dāng)createPolygon(cxt, 3, 100, 75, 50);改為createPolygon(cxt, 5, 100, 75, 50);時(shí),瀏覽器中的預(yù)覽效果如圖2-25所示。


當(dāng)createPolygon(cxt, 3, 100, 75, 50);改為createPolygon(cxt, 6, 100, 75, 50);時(shí),瀏覽器中的預(yù)覽效果如圖2-26所示。


createPolygon()只能繪制“正多邊形”,不可以用于繪制“不規(guī)則多邊形”。對(duì)于“不規(guī)則多邊形”,方法也很簡(jiǎn)單,我們都是先確定多邊形各個(gè)定點(diǎn)坐標(biāo),然后使用moveTo()和lineTo()慢慢繪制。

2.4.3 五角星

同樣地,我們也可以先獲取各個(gè)頂點(diǎn)的坐標(biāo),然后使用moveTo()和lineTo()把五角星繪制出來。根據(jù)圖2-27的分析,我們可以知道∠BOA=36°,∠A0X=18°,∠BOX=54°,然后結(jié)合三角函數(shù),就很容易得出五角星各個(gè)頂點(diǎn)的坐標(biāo)。大家自己在草稿中算一下,這里就不詳細(xì)展開了。分析如圖2-27所示。


舉例:

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title></title><meta charset="utf-8" /><script type="text/javascript">function $$ (id) {return document.getElementById(id);}window.onload = function () {var cnv = $$ ("canvas");var cxt = cnv.getContext("2d");cxt.beginPath();for (var i = 0; i < 5; i++) {cxt.lineTo(Math.cos((18 + i * 72) * Math.PI / 180) * 50 + 100,-Math.sin((18 + i * 72) * Math.PI / 180) * 50 + 100);cxt.lineTo(Math.cos((54 + i * 72) * Math.PI / 180) * 25 + 100,-Math.sin((54 + i * 72) * Math.PI / 180) * 25 + 100);}cxt.closePath();cxt.stroke();}</script> </head> <body><canvas id="canvas" width="200" height="150" style="border:1px dashed gray;"></canvas> </body> </html>

在瀏覽器中的預(yù)覽效果如圖2-28所示。


分析:
當(dāng)然,對(duì)于本節(jié)這些多邊形的繪制,我們可以封裝成一個(gè)個(gè)函數(shù),以便實(shí)際開發(fā)中直接調(diào)用。

2.5 訓(xùn)練題:繪制調(diào)色板

我們?cè)谑褂美L圖軟件或取色軟件的過程中,經(jīng)常會(huì)見到各種調(diào)色板效果。常見的調(diào)色板有兩種,即方格調(diào)色板和漸變調(diào)色板。在這里我們將使用本章所學(xué)到的繪圖方法來繪制這兩種調(diào)色板。

舉例:方格調(diào)色板

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title></title><meta charset="utf-8" /><script type="text/javascript">function $$ (id) {return document.getElementById(id);}window.onload = function () {var cnv = $$ ("canvas");var cxt = cnv.getContext("2d");for (var i = 0; i < 6; i++) {for (var j = 0; j < 6; j++) {cxt.fillStyle = "rgb(" + Math.floor(255 - 42.5 * i) + "," + Math.floor(255 - 42.5 * j) + ",0)";cxt.fillRect(j * 25, i * 25, 25, 25);}}}</script> </head> <body><canvas id="canvas" width="200" height="200" style="border:1px dashed gray;"></canvas> </body> </html>

在瀏覽器中的預(yù)覽效果如圖2-29所示。


分析:
對(duì)于這種方格色板,實(shí)現(xiàn)思路非常簡(jiǎn)單:我們可以使用兩層for循環(huán)來繪制方格陣列,每個(gè)方格使用不同的顏色。其中變量i和j用來為每一個(gè)方格產(chǎn)生唯一的RGB色彩值。我們僅修改其中的紅色和綠色的值,而保持藍(lán)色的值不變,就可以產(chǎn)生各種各樣的色板。

接下來我們嘗試?yán)L制一個(gè)更加復(fù)雜的調(diào)色板:漸變調(diào)色板。

舉例:漸變調(diào)色板

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title></title><meta charset="utf-8" /><script type="text/javascript">function $$ (id) {return document.getElementById(id);}window.onload = function () {var cnv = $$ ("canvas");var cxt = cnv.getContext("2d");var r = 255, g = 0, b = 0;for (i = 0; i < 150; i++) {if (i < 25) {g += 10;} else if (i > 25 && i < 50) {r -= 10;} else if (i > 50 && i < 75) {g -= 10;b += 10;} else if (i >= 75 && i < 100) {r += 10;} else {b -= 10;}cxt.fillStyle = "rgb(" + r + "," + g + "," + b + ")";cxt.fillRect(3 * i, 0, 3, cnv.height);}}</script> </head> <body><canvas id="canvas" width="255" height="150" style="border:1px dashed gray;"></canvas> </body> </html>

在瀏覽器中的預(yù)覽效果如圖2-30所示。


是不是感到很有趣呢?現(xiàn)在我們也可以開發(fā)一個(gè)屬于自己的調(diào)色板了。

總結(jié)

以上是生活随笔為你收集整理的《Web前端开发精品课——HTML5 Canvas开发详解》——第一部分第二章节的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

夜夜夜夜猛噜噜噜噜噜初音未来 | 国产视频不卡一区 | 99热精品在线 | 91视频专区 | 中文字幕在线观看第一区 | 视频直播国产精品 | 四虎影视精品 | 夜夜操天天干 | 国产精品久久久久久久久婷婷 | 欧美亚洲精品一区 | 开心色激情网 | 99精品视频免费全部在线 | 亚洲欧美日韩在线看 | 黄色的网站免费看 | 国产精成人品免费观看 | 免费视频黄 | 久视频在线播放 | 日韩高清 一区 | 五月婷婷开心中文字幕 | 久久国产午夜精品理论片最新版本 | 在线免费av网站 | 片网址| 一区二区三区在线播放 | 久久精品专区 | 亚洲一级久久 | 麻豆视频成人 | 日日夜夜精品免费 | 五月激情综合婷婷 | 91精品毛片| 在线激情小视频 | 毛片一区二区 | 亚洲一区二区三区四区精品 | 人人爽影院 | 日韩午夜大片 | www.色五月| 一区二区三区免费在线观看视频 | 国产区av在线 | 黄色一级片视频 | 4438全国亚洲精品在线观看视频 | 国产成人性色生活片 | 国产夫妻自拍av | 中文在线免费看视频 | 91人人澡| 欧美日韩国产精品爽爽 | 久久综合久久综合九色 | 中文字幕一二三区 | 一区二区视频在线观看免费 | 中文字幕超清在线免费 | 黄色片软件网站 | 91少妇精拍在线播放 | 99精品视频一区二区 | 99热精品久久 | 成年人黄色免费网站 | 外国av网 | 中文字幕成人在线 | 欧美日韩一区二区三区不卡 | 精品国产自在精品国产精野外直播 | 亚洲精品成人av在线 | 久久久精品视频网站 | 久久久久久久久久福利 | 97视频亚洲 | 波多野结衣电影一区二区 | 午夜精品久久久久久久99水蜜桃 | 亚洲高清不卡av | 欧美一级大片在线观看 | 国产精品视频在线观看 | 国内精品久久影院 | 国产福利91精品张津瑜 | 91免费在线视频 | 亚洲精选99 | www.狠狠插.com| 99久久激情视频 | 欧美精品久久人人躁人人爽 | 午夜狠狠操 | 美女视频黄色免费 | 黄色一区二区在线观看 | 九九精品在线观看 | 四虎成人精品 | 亚洲人在线 | 中文字幕av最新 | 五月亚洲婷婷 | 久草网在线观看 | 午夜精品久久久久久久久久久 | 色婷婷综合在线 | 国产片网站 | 麻豆视频国产 | 日本久草电影 | 少妇视频在线播放 | 欧美大香线蕉线伊人久久 | 久久久国产精品免费 | 日韩精品一区二区在线观看 | 高清av在线免费观看 | 狠狠狠狠狠狠操 | 色黄视频免费观看 | 黄色在线免费观看网址 | 中文字幕91在线 | 中文有码在线 | 波多野结衣视频一区 | 黄色精品网站 | 三日本三级少妇三级99 | 91视频下载 | 久久久久草 | 色网站在线免费 | 91chinese在线| 亚洲精品永久免费视频 | 狠日日| www.久草.com | 久久午夜电影网 | 日韩动态视频 | 日韩精品一区二区三区电影 | 激情一区二区三区欧美 | 久久99精品国产麻豆宅宅 | 99爱在线观看 | 亚洲视频一级 | 国产亚洲在线视频 | 日韩高清在线观看 | 久久一本综合 | 女人高潮特级毛片 | 天天操天天干天天 | 免费一级片视频 | 在线看一区 | 欧美一性一交一乱 | 亚洲精品国内 | 狠狠躁日日躁狂躁夜夜躁av | 色99色| 粉嫩av一区二区三区四区 | 日日日天天天 | 色多视频在线观看 | 久久久久免费精品国产小说色大师 | 国产做a爱一级久久 | av在线免费播放网站 | 开心色插| 久久免费看av | 手机av观看 | 国产精品乱码久久久久久1区2区 | 在线日韩 | 人人干人人模 | 欧美aaa一级 | 免费观看午夜视频 | 成人免费一区二区三区在线观看 | 中文av在线播放 | 狠狠久久综合 | av成人动漫在线观看 | 国产探花 | 天天艹| 国产日韩精品视频 | 99在线播放| 久久精品国产v日韩v亚洲 | 亚洲高清在线观看视频 | 国产裸体视频bbbbb | 成人宗合网| 99精品国产免费久久久久久下载 | 五月天堂色 | 日本久久中文字幕 | 久久这里只有精品久久 | 欧美疯狂性受xxxxx另类 | 亚洲精品资源在线 | 国产一级黄色免费看 | 热久在线 | 天天操天天干天天操天天干 | 超碰.com| 国产不卡在线视频 | 国产精品日韩欧美一区二区 | 成人黄色资源 | 国产一二三在线视频 | 九九欧美 | 天天综合网国产 | 亚洲精品国偷拍自产在线观看蜜桃 | 免费看片成年人 | 97国产一区二区 | 肉色欧美久久久久久久免费看 | 久久精品国产成人精品 | 精品免费久久久久 | 一区国产精品 | 日日干天天爽 | 香蕉视频导航 | 国产91精品一区二区麻豆亚洲 | 在线观看 国产 | 国产一区在线免费观看 | 美女视频黄频大全免费 | 亚洲精品视频播放 | 偷拍区另类综合在线 | 久久久精品 一区二区三区 国产99视频在线观看 | 亚洲精品中文字幕在线观看 | 免费av福利 | 免费看国产曰批40分钟 | 99久久99视频| 91最新视频在线观看 | 亚洲久草网 | av片子在线观看 | 欧美亚洲一级片 | 婷婷在线观看视频 | 久久久免费播放 | 中文字幕一区二区三区四区久久 | 亚洲成熟女人毛片在线 | 中文字幕在线观看的网站 | 综合国产在线观看 | 欧美一级爽 | 99热这里只有精品1 av中文字幕日韩 | 久久美女高清视频 | 国产精品一区二区av日韩在线 | 色黄久久久久久 | 91视频在线免费下载 | 亚洲精品福利在线观看 | 精品中文字幕在线 | 97在线视频免费看 | 97精品国自产拍在线观看 | 国产h在线观看 | 91九色视频网站 | 狠狠躁日日躁夜夜躁av | 欧美99久久| 91丨九色丨国产在线 | 免费在线国产视频 | 色综合天天视频在线观看 | 蜜臀aⅴ国产精品久久久国产 | 亚洲婷婷综合色高清在线 | 在线观看av黄色 | 色综合久久久久综合 | 亚洲国产精品一区二区久久,亚洲午夜 | 在线观看免费成人 | 少妇bbbb搡bbbb搡bbbb | 日韩美女高潮 | 日本中文一区二区 | 日日干 天天干 | 国产成人精品久久 | 久久国产精品99国产 | 麻豆视频www | 国产又粗又猛又黄又爽视频 | www.五月婷婷 | 激情自拍av | 久久免费资源 | 国产在线一区二区 | 国产精品一区二区免费视频 | 日日爱夜夜爱 | 国产成人精品免费在线观看 | 中文字幕在线久一本久 | 国产九九精品 | 夜夜高潮夜夜爽国产伦精品 | 日韩高清在线一区二区三区 | 五月综合网 | av片在线观看 | 国产一级免费视频 | 国产免费a | 欧美日韩在线免费观看 | 久久久久久久久免费 | 免费在线一区二区 | 日韩一级片观看 | 婷婷婷国产在线视频 | 日韩一区二区三区高清在线观看 | 国产成人免费网站 | 久久精品中文字幕少妇 | 久久成人综合 | 成 人 黄 色 视频免费播放 | av在线免费不卡 | 91精彩视频 | 欧美日韩免费一区二区三区 | 亚洲高清在线精品 | 久久dvd| 国产精品99久久久久人中文网介绍 | 在线观看网站黄 | 亚洲专区欧美专区 | 成年人免费看片网站 | 天天综合日日夜夜 | 亚洲网站在线看 | 国产精品久久久久久久久岛 | 国产亚州精品视频 | 中文字幕一区二区三区在线观看 | 亚洲精品www久久久久久 | 久久久久亚洲精品男人的天堂 | 亚洲精品国偷拍自产在线观看 | 久久久久久久久久久网 | 欧美韩国日本在线观看 | 国产电影黄色av | 99九九99九九九视频精品 | 五月开心婷婷 | 成年人视频在线观看免费 | 中文字幕高清av | 久久免费视频网 | 超碰人人草 | 日韩一区二区在线免费观看 | 97超碰站| 久久论理 | 四虎影视成人永久免费观看视频 | 亚洲国产视频在线 | 粉嫩av一区二区三区四区 | 婷婷久月| 中文字幕中文字幕中文字幕 | 亚洲国产精品日韩 | 国产一区在线不卡 | 主播av在线| 九色91福利| 久久久久久综合 | 91插插插免费视频 | 久久久久久久久艹 | 欧美天堂视频在线 | 在线观看色网 | 免费色婷婷 | 又黄又刺激的视频 | 亚洲乱码精品 | 亚洲少妇影院 | 在线观看国产中文字幕 | 天天爽夜夜爽精品视频婷婷 | 九九久久婷婷 | 欧美综合国产 | 免费网站黄 | 欧美aⅴ在线观看 | 狠狠躁夜夜a产精品视频 | 欧美日韩一区二区三区在线观看视频 | 黄网站免费大全入口 | 国产无套精品久久久久久 | 亚洲国产日韩av | 国产看片免费 | 国产精品久久久久久一区二区 | 午夜视频在线观看一区二区三区 | 亚洲精品成人在线 | 成人久久久电影 | 欧美日韩一级视频 | 日韩精品免费一区二区在线观看 | 91在线小视频 | 亚洲欧美日韩一区二区三区在线观看 | 日韩在线三级 | 成年人免费在线观看网站 | 久久黄色成人 | 99国产精品久久久久老师 | 国产精品成久久久久三级 | 亚洲欧洲精品一区二区精品久久久 | 黄色三级免费 | 日韩精品久久久免费观看夜色 | 美腿丝袜一区二区三区 | 日本巨乳在线 | 久久精品永久免费 | 日韩免费在线视频观看 | 看污网站| 国产系列 在线观看 | 成人免费观看视频大全 | 狠狠干婷婷色 | 日韩av一区在线观看 | 日本公妇在线观看 | 五月综合激情婷婷 | 日韩久久电影 | 亚洲视频在线观看网站 | 国产视频1区2区3区 久久夜视频 | 久久情侣偷拍 | 一区二区不卡视频在线观看 | 国产精品久久久久av | 精品成人网 | 四虎在线观看视频 | 伊人久久在线观看 | 成人av在线看 | 人人天天夜夜 | 中文字幕 婷婷 | 97国产| 91精品久久久久久综合五月天 | 日本黄色黄网站 | 视频一区二区免费 | 亚洲成人免费在线 | 国产性天天综合网 | 久久桃花网| av电影中文字幕 | 日韩精品久久久久久 | 中文字幕制服丝袜av久久 | 中文字幕在线观看不卡 | 久久久久久久久久久影视 | 久久夜色网 | 久久婷婷色综合 | 久久午夜国产精品 | 黄色高清视频在线观看 | 国产精品久久久久久久妇 | 久久精品1区 | 美女久久久久久久久久 | 中文字幕电影高清在线观看 | 亚洲在线精品视频 | 在线看片视频 | 网站在线观看你们懂的 | 欧美色婷 | 国产精品久久久久久久久久免费看 | 啪嗒啪嗒免费观看完整版 | 免费看av片网站 | 97人人澡人人添人人爽超碰 | av中文字幕在线观看网站 | 91片黄在线观 | 色噜噜日韩精品一区二区三区视频 | 五月天天色| 成年人黄色大片在线 | 国产成人一区二区三区久久精品 | 免费视频91 | 毛片网站观看 | 免费看黄色毛片 | 伊人久在线 | 黄色特级一级片 | 欧美日韩高清一区二区三区 | 国产成人中文字幕 | www五月天婷婷 | 国产免费亚洲高清 | 日韩av在线影视 | 成人小视频在线观看免费 | 91精品国产99久久久久久久 | 91成人精品国产刺激国语对白 | 在线观看的a站 | 日韩理论片 | 日免费视频 | 免费在线播放av电影 | 97在线超碰 | 日韩在线观看的 | 狠狠地日 | 欧美色图另类 | 日韩电影一区二区在线观看 | 久久久亚洲电影 | 久久伊人热 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 国产中文字幕一区 | av线上看| 在线电影日韩 | 亚洲国产视频在线 | 精品免费99久久 | 最新极品jizzhd欧美 | 久久精品99国产国产精 | www久久久| 97电影手机版 | 亚洲天天综合网 | 亚洲国产视频在线 | 国产在线国偷精品产拍 | 久久99国产一区二区三区 | 欧美色图亚洲图片 | 亚洲免费在线看 | 91成人精品一区在线播放69 | 久久精品中文字幕免费mv | 久草久草视频 | 久久影院中文字幕 | 美女视频久久 | 男女激情片在线观看 | 正在播放五月婷婷狠狠干 | 亚洲精品合集 | 久久久一本精品99久久精品 | 免费电影播放 | 成人国产精品入口 | 欧美射射射 | 91大神免费在线观看 | 欧美色图东方 | 久久精品国产亚洲a | 一区二区三区四区在线 | 久久久久在线视频 | 五月天堂色 | 日韩成人邪恶影片 | 亚洲爱爱视频 | 日本久久久精品视频 | 手机在线看a | 看v片| 日韩欧美黄色网址 | 精品在线二区 | 91欧美在线 | 五月天综合色激情 | 亚洲一区二区三区毛片 | 成人精品一区二区三区中文字幕 | 日韩黄色一级电影 | 久草资源免费 | www91在线| 国产精品欧美久久久久三级 | 五月综合色婷婷 | 天堂av网址| 国产精品美女久久久久久网站 | 操一草 | 97精品国产aⅴ | 色婷婷www | 日韩av网页| bbbbb女女女女女bbbbb国产 | 一区 二区电影免费在线观看 | 国产系列 在线观看 | 国产视频 久久久 | av一级在线观看 | 午夜精品视频免费在线观看 | 天天射综合网视频 | 日本3级在线观看 | 国产精品久久久久久久久久妇女 | 国产一区在线免费 | 日韩av在线不卡 | 91av国产视频 | 日韩二区精品 | 99精品国产高清在线观看 | av看片在线 | 国产专区在线视频 | 黄色av高清 | 国产视频一区在线免费观看 | 青青草国产免费 | 中午字幕在线观看 | 欧美成人性网 | japanesexxxhd奶水 国产一区二区在线免费观看 | 国产在线精品一区二区三区 | 精品欧美日韩 | 日韩在线观看精品 | 在线观看视频三级 | 亚洲国产电影在线观看 | 精品高清美女精品国产区 | www.久久色 | 色狠狠操 | 五月婷婷综 | 中文字幕一区二区三区四区久久 | 欧美国产精品久久久久久免费 | 伊人狠狠干 | 国产视频在线观看一区 | 成人免费观看大片 | 最近中文字幕在线 | 成人啊 v | 久久久免费看片 | 夜夜摸夜夜爽 | 人人插人人草 | 国产精品美女久久久久久 | 中文永久免费观看 | 女人18精品一区二区三区 | 中文字幕色在线视频 | 99在线视频精品 | 最近的中文字幕大全免费版 | 久久久久久久久免费视频 | 99久久精品免费 | 中日韩三级视频 | 色综合在 | 成人黄色免费观看 | 狠狠干天天射 | 毛片激情永久免费 | 国产一级免费观看视频 | 91福利在线导航 | 麻豆一区在线观看 | 91在线精品播放 | 一级成人免费 | 久久久久伊人 | 久久人人爽人人人人片 | 国产不卡精品视频 | 亚洲国产精品小视频 | 992tv成人免费看片 | 西西444www大胆高清图片 | 国产精品夜夜夜一区二区三区尤 | av无限看 | 欧美日韩免费网站 | 夜夜骑天天操 | av免费在线免费观看 | 精品国产一区二区三区在线 | av丝袜天堂| 波多野结衣久久资源 | 视频在线观看国产 | 九九免费在线观看视频 | 久久久精品在线观看 | 亚洲国产色一区 | 少妇bbb搡bbbb搡bbbb | 亚洲欧美激情精品一区二区 | 成人电影毛片 | 亚洲精品9 | 久久国产香蕉视频 | 麻豆国产精品一区二区三区 | 啪啪动态视频 | av网站免费在线 | 国产尤物在线视频 | 亚洲午夜精品电影 | 久草在线免费看视频 | 超级碰视频 | 波多野结衣在线视频一区 | 91麻豆传媒 | 精品国产伦一区二区三区观看方式 | 久久a v电影 | 99国内精品久久久久久久 | 国产精品 中文字幕 亚洲 欧美 | 欧美大片www | 欧美日韩国产伦理 | 综合激情 | 久碰视频在线观看 | 日韩videos| 国产精品资源在线 | 伊人中文在线 | 午夜精品久久久久久久久久久久久久 | 久久免费中文视频 | 国产精品久久久久久久免费观看 | 国产裸体永久免费视频网站 | 国产aaa大片 | 日韩免费电影一区二区三区 | 狠狠狠狠狠狠干 | 午夜影院一区 | 久久婷婷国产色一区二区三区 | 日本中文字幕在线电影 | 观看免费av | 国产一区二区在线精品 | 国产黄色一级大片 | 一区二区三区福利 | 日韩电影在线观看一区二区 | 久久久麻豆精品一区二区 | 精品一区二区综合 | 91中文视频 | 免费三级影片 | 亚洲国产wwwccc36天堂 | 青青网视频 | www.久久精品视频 | 一区二区中文字幕在线观看 | 91九色视频导航 | 久久精品视 | 欧美激情综合五月色丁香 | 在线观看久 | 97视频免费在线 | 国产视频1 | 色综合天天色综合 | 欧美在线视频一区二区三区 | 99久久精品久久久久久动态片 | 久久久网页 | 国产精国产精品 | 亚洲三级影院 | 在线观看视频你懂的 | 婷婷六月天丁香 | 国产蜜臀av| zzijzzij亚洲成熟少妇 | 波多野结衣在线视频免费观看 | 欧美成人亚洲成人 | 成年人视频在线免费播放 | 免费看一及片 | 免费看三级 | 中文字幕在线播放一区二区 | 91传媒在线看| 91九色九色| 久久天堂网站 | 国产91精品一区二区绿帽 | 国产精品国产三级国产不产一地 | 欧美另类视频 | 五月天久久久久久 | 中文成人字幕 | 9999在线观看 | 成年在线观看 | 在线免费观看麻豆视频 | 欧美一级高清片 | 欧美午夜精品久久久久久浪潮 | 色狠狠综合天天综合综合 | 日日碰狠狠躁久久躁综合网 | 免费成人短视频 | 中文字幕日韩电影 | 狠狠色丁香久久综合网 | 色人久久 | 少妇bbr搡bbb搡bbb | 久久曰视频 | 久久久影院一区二区三区 | 日韩免费中文 | 天天干天天做 | 99精品视频在线观看视频 | 在线一二区| 国产不卡免费 | 国产录像在线观看 | 久久色中文字幕 | 丁香婷婷在线观看 | 国产精品欧美激情在线观看 | 91男人影院 | 91亚洲国产 | 天天干天天干天天干 | 久草免费手机视频 | 亚洲精品视频免费观看 | 国产特级毛片aaaaaa毛片 | 国产精品久久久久一区二区三区 | 五月天最新网址 | 免费毛片一区二区三区久久久 | 成年人在线看片 | av在线播放中文字幕 | 伊在线视频 | 日本在线免费看 | 日韩av一区在线观看 | 久久国产精品影视 | 午夜成人免费电影 | 91av视频免费在线观看 | 国产免费成人 | 国产成人一区在线 | 一区二区三区动漫 | 波多野结衣动态图 | 亚洲不卡在线 | 天天干人人 | 国产精品久久久久久久免费大片 | 在线草 | 国产69精品久久久久99尤 | 毛片网站在线看 | av综合站 | 91系列在线观看 | 日本免费久久高清视频 | 91 在线视频播放 | 欧美日韩中字 | 青青啪| 97在线免费观看 | 久久国产精品久久久久 | 亚洲天堂社区 | 久久久精品网站 | 国产精品久久久久久久久久久久冷 | av动图| 精品久久久精品 | 日韩av不卡在线播放 | 97国产情侣爱久久免费观看 | 日韩免费在线视频 | 欧美综合在线观看 | 日韩免费av在线 | 国产美女久久久 | 久久人人爽人人人人片 | 在线观看国产一区 | 色九色| 中文字幕在线观看亚洲 | 日韩精品高清不卡 | 亚洲精品一区二区18漫画 | 日本性动态图 | 欧美日韩精品二区第二页 | 午夜精品久久久久99热app | 国产一区二区精 | 国产精品女同一区二区三区久久夜 | 一二区av | 午夜电影久久 | 日韩精品黄 | 久久99国产精品免费网站 | 国产69精品久久99不卡的观看体验 | 亚洲理论电影网 | 五月婷婷激情网 | 成年人视频在线免费观看 | 一区中文字幕 | 精品国产一区二区三区在线 | 麻豆手机在线 | 国产精品18久久久久久久网站 | 久久九九国产视频 | 欧美一级片| 91久久国产综合精品女同国语 | 一本一道久久a久久精品 | 亚洲激情视频在线观看 | 亚洲精品美女久久久 | 美女啪啪图片 | 九九九电影免费看 | 亚洲毛片一区二区三区 | 五月婷婷丁香激情 | 91人人视频在线观看 | 在线观看中文字幕视频 | 国产精品网址在线观看 | 白丝av免费观看 | 中文字幕在线观看视频一区 | 丰满少妇一级片 | 在线韩国电影免费观影完整版 | 日韩激情网 | 69性欧美| 亚州国产精品视频 | 一二三区视频在线 | 一区二区三区高清在线 | 91在线视频| 91在线看免费 | 国模精品一区二区三区 | 最新免费中文字幕 | 91成人观看 | 国产视频 久久久 | 国产伦精品一区二区三区无广告 | 国产一级电影在线 | 免费a现在观看 | 婷婷综合视频 | 最新一区二区三区 | 久久精品中文字幕 | 日韩精品久久一区二区 | 国产尤物视频在线 | 精品成人久久 | 色视频在线免费 | 国语久久| 久久精品高清视频 | 国产亚洲精品久久久久久无几年桃 | 激情综合色播五月 | 久久免费观看少妇a级毛片 久久久久成人免费 | 亚洲精品免费在线观看视频 | 91大神dom调教在线观看 | 久久超级碰视频 | 国产99久久久久久免费看 | 国产精品乱码久久久 | 天天操狠狠操网站 | 成人免费在线视频 | 中国美女一级看片 | 91av视屏| 亚洲一区二区视频 | 69av视频在线观看 | 免费看精品久久片 | 国产在线播放观看 | 色婷婷影视 | 福利视频第一页 | 免费日韩 精品中文字幕视频在线 | 狠狠色伊人亚洲综合成人 | 免费国产在线精品 | 日韩成人精品 | 色噜噜色噜噜 | 视频在线观看国产 | 五月av在线| 亚洲精品影视 | 99视频久 | 97超碰色偷偷 | 久久国产精品99国产精 | 久艹在线观看视频 | 亚洲综合在线发布 | 色瓜| 99热超碰在线 | 99热最新在线 | 美女国产网站 | 久久神马影院 | 深夜成人av | 色视频在线观看免费 | 97在线观看免费观看高清 | 最新黄色av网址 | 久久精品中文字幕少妇 | 91在线欧美 | 在线观看中文字幕视频 | 国产精品国产三级国产不产一地 | 五月综合色 | 国内成人精品视频 | 波多野结衣视频一区二区三区 | 97视频免费在线 | 中文字幕亚洲在线观看 | 国产999精品久久久久久绿帽 | 久久综合影音 | 天天干天天摸 | 国产一级电影网 | 日本中文字幕电影在线免费观看 | 免费在线中文字幕 | 一区二区激情视频 | 最新国产福利 | 国产999精品久久久影片官网 | 日韩午夜大片 | 色亚洲网 | 国产在线视频一区二区 | 91完整版在线观看 | 亚洲激情影院 | 9在线观看免费高清完整版在线观看明 | 国产精品9999久久久久仙踪林 | 中文字幕 影院 | 中文字幕免费看 | 亚洲美女视频网 | av理论电影 | 国产一区免费在线 | 97网在线观看 | 九九99靖品 | 日本h视频在线观看 | 国产精品无 | 这里只有精品视频在线 | 亚洲乱码精品久久久久 | 日批网站免费观看 | 又污又黄网站 | 亚洲91网站| 欧美激情精品久久久久久变态 | 国产亚洲精品bv在线观看 | 99热这里只有精品久久 | 激情久久综合网 | 国产手机精品视频 | 精品欧美在线视频 | 久久午夜精品视频 | 国产精品麻豆视频 | 永久免费毛片在线观看 | 九九爱免费视频在线观看 | 天天干天天做天天爱 | 天天艹天天 | 国产精品不卡在线观看 | 亚洲成a人片77777kkkk1在线观看 | 国产精品亚洲人在线观看 | www.香蕉视频在线观看 | 国产一区在线观看免费 | 天天天天天天操 | 国产视频99 | 久久福利电影 | 国产成人免费 | 91视频免费视频 | 日本黄色片一区二区 | 激情网在线视频 | 中文字幕av在线 | 欧美性另类 | 夜夜躁天天躁很躁波 | 天天操网址| 国产高清在线视频 | 亚洲黄色在线观看 | 天天添夜夜操 | 国产手机在线播放 | 黄色三级网站在线观看 | 午夜视频在线观看网站 | 天天干天天做天天操 | 日韩av电影中文字幕 | 丁香五婷| 中文字幕一区二区在线观看 | 成年人在线免费看 | 99精品视频在线 | 黄色看片 | 国产精品美女久久久久久久 | 久久久久国产a免费观看rela | 中文字幕超清在线免费 | 97久久精品午夜一区二区 | 91麻豆网 | 精品国产123 | 久久精品91久久久久久再现 | 91精品国自产拍天天拍 | 精品免费在线视频 | 久久久99国产精品免费 | 韩日精品在线 | 中文字幕国内精品 | 欧美成人在线免费观看 | 亚洲极色| 亚洲 成人 欧美 | 97精产国品一二三产区在线 | 婷婷六月色 | 日韩欧美成人网 | 久草在线资源观看 | 亚洲 中文 在线 精品 | 91综合色 | 国产高清精 | 91九色在线 | 91免费试看 | 91丨九色丨国产在线观看 | 日韩精品最新在线观看 | 97在线视频免费看 | 2019中文 | 成人av在线网址 | 亚洲va在线va天堂va偷拍 | 国产福利一区二区三区在线观看 | 久久九九九九 | 精品视频免费播放 | 国产区在线视频 | 91看片淫黄大片91 | 日本久久成人 | 国产精品久久久久久久久久久杏吧 | 在线国产不卡 | 久久日韩精品 | 久青草国产在线 | 久久在线 | 亚洲精品午夜视频 | 国产精品免费一区二区三区 | 亚洲视频免费 | avlulu久久精品 | 日韩精品视频在线观看网址 | 久久综合给合久久狠狠色 | 在线观看视频亚洲 | 色小说av | 亚洲伦理中文字幕 | 久久免费观看视频 | 在线观看国产一区 | 久青草国产在线 | 亚洲精品在线观看不卡 | 国产成人精品日本亚洲999 | 日本性久久 | 成人亚洲精品国产www | 五月婷婷丁香色 | 亚洲高清精品在线 | 日韩国产欧美视频 | 国产精品自产拍在线观看网站 | 在线免费观看黄网站 | 日本色小说视频 | 日韩免费电影一区二区三区 | av在线小说 | 99在线热播 | 91最新视频在线观看 | 综合网成人 | 中文字幕在线观看一区二区三区 | 国产成人一区在线 | 亚洲五月激情 | 人人盈棋牌 | 久久久久久久影院 | 成人免费视频在线观看 | 国产精品毛片一区视频播不卡 | 国产精品久一 | 婷婷久久一区 | 久热国产视频 | 亚洲成人精品久久久 | 在线视频a | 最新91在线视频 | 欧美一进一出抽搐大尺度视频 | 日韩欧美视频一区二区 | 91精品啪在线观看国产 | 中文字幕在线色 | www.久久色| 91日韩精品 | 天天综合网天天综合色 | 久色 网| 日三级在线 | 欧美视频网址 | 免费看特级毛片 | 久久久99精品免费观看app | 欧美性成人 | 欧美色综合天天久久综合精品 | www.狠狠操 | 色在线视频 | 999久久久久| 超碰在线最新网址 | a午夜电影 | 日本91在线 | av免费试看| 亚洲国产人午在线一二区 | 欧美激情综合五月色丁香 | 久久久久久激情 | 久久综合久久鬼 | 亚州激情视频 | 日韩网站在线播放 | 国产91在线观 | 丁香婷婷激情五月 | 伊人五月婷 | 少妇高潮流白浆在线观看 | 久久久久久久久综合 | 国产伦理久久精品久久久久_ | 久久久穴| www五月天婷婷 | 色五月激情五月 | 青青草国产精品 | 免费视频97 | 成人免费视频免费观看 | 国产精品6999成人免费视频 | 欧美一级高清片 | 青青草国产精品视频 | 亚洲在线资源 | 日韩欧美国产成人 | 欧美一级看片 |