精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

HTML 5新特性Canvas入門秘籍

開發 前端
在HTML5中,其中最令開發者和用戶值得留意的新特性,莫過于Canvas的功能了,是目前HTML5中富客戶端動畫效果的實現方式,究竟什么是HTML 5中的Canvas功能呢?本文將帶領初學者學習Canvas的入門知識。

隨著IE 10的即將發布正式版,標志者HTML5的時代已經越來離我們越來越近了,盡管HTML 5的最終標準草案還沒最終敲定,但象Chrome,Firefox等瀏覽器對HTML5的標準已經支持的十分完善了,IE 10的預覽版本也聲稱支持更多的HTML 5特性。在此情況下,無論作為CTO還是一般的前端頁面開發者還是網站編程的開發人員,都應該開始給予HTML5相當的重視。而在HTML5中,其中最令開發者和用戶值得留意的新特性,莫過于Canvas的功能了,它能在目前的IE 9,IE 10以及Chrome,FireFox等多種瀏覽器中使用,是目前HTML5中富客戶端動畫效果的實現方式,有了它,HTML5就有了跟Adobe Flash對抗的資本,用戶以后只要使用支持HTML5的瀏覽器,就可以不用安裝Flash插件了。那么,究竟什么是HTML 5中的Canvas功能呢?本文將帶領初學者學習Canvas的入門知識。

51CTO推薦專題:HTML 5 下一代Web開發標準詳解

走近Canvas 元素標簽

官方對Canvas元素標簽的定義為:Canvas(畫布)可以用來進行繪制圖形,繪制游戲的圖案或者其他圖形圖案,允許使用腳本動態渲染點陣圖像。簡單來說,Canvas就是允許你在HTML5中,使用Javascript去繪制你喜歡的任何圖形了,包括文字,圖片、線、點、各種形狀等。Canvas使用的是Canvas 2D API去繪制圖形的,這個API功能十分強大,而且大部分的瀏覽器都支持 2D canvas ——包括 Opera, Firefox, Konqueror 和 Safari。而且某些版本的 Opera 還支持 3D canvas ,firefox 也可以通過插件形式支持 3D canvas 。下面馬上來看Canvas的例子。

  1. <canvas id=”myCanvas” style=”width:300px; height:300px”></canvas> 

這個代碼就會在瀏覽器中先繪畫一張畫布,寬度和高度都是300px,但這個時候頁面上并不能顯示什么效果,只是一個空的區域。

在一個頁面中,可以有不同的canvas,不同的canvas都必須有自己的id屬性以示區分。為了在canvas上繪制圖形,必須引用canvas的上下文context變量。Context上下文能讓你訪問2D API中的屬性和方法,這樣就可以在畫布元素中操作和繪畫圖形了,這個我們稍后再詳細講解。

先來看下每一canvas元素標簽中都有X和Y坐標,X坐標代表水平,Y坐標代表垂直,下圖是其坐標系的圖:

 

開發者值得關注的HTML 5新特性Canvas

 

Canvas和SVG的關系

開發者必須清楚SVG技術和canvas是不同的。SVG是基于XML的圖形矢量顯示技術,可以將其與CSS混搭使用,也可以使用SVG DOM動態向其添加行為。而canvas則允許使用Javascript去繪制各種圖象和圖形,下面是一些canvas勝過svg的優點:

1) canvas在繪制復雜圖象時,繪畫速度比SVG快不少。

2) 可以保存canvas繪制的圖象,但SVG不能直接使用瀏覽器的保存功能保存。

3) 在canvas中所有東西都以象素形式存在。

4) svg需要在瀏覽器中使用插件顯示。

但要同時注意到,svg也有自身的優勢,比如:

1) svg的圖形解析分辨率能適應不同大小尺寸。

2) svg由于使用XML,因此能定義很多不同的目標元素。

3) svg能繪制很復雜的動畫效果。

那如何選擇呢?建議如果你的網站的圖象對分辨率要求高(矢量圖要求),那么選擇SVG,如果你的應用是網頁游戲等對速度要求響應高的,也不想過多跟XML打交道的話,則選用canvas。更多關于如何選擇SVG和Canvas,可以參考這篇文章的論述:http://blogs.msdn.com/b/ie/archive/2011/04/22/thoughts-on-when-to-use-canvas-and-svg.aspx

Canvas和硬件加速

在學習canvas時,建議讀者閱讀這篇文章《硬件加速下的圖形顯示對比》,這篇文章中對比了HTML5下canvas在各瀏覽器下的渲染表現。在早期的瀏覽器中,所有對圖形的顯示運算都是有CPU去實現的,而隨著互聯網的快速發展,對圖形處理的要求越來越高,于是很多的圖形渲染工作都由圖形處理單元(GPU)去處理了,比如使用Direct2D或者DirectWrite。當圖形處理工作大部分交由GPU去處理時,大大減輕了CPU的工作負擔,可以騰出來做其他更復雜的工作。

Javascript一直被指責在處理圖形方面遜色,但隨著FireFox,Chrome等瀏覽器的大行其道,還有IE 9的新的Javascript引擎Chara,它采用在后臺與IE并行并且獨立的CPU內核中編譯 JavaScript 腳本,采用單獨的后臺線程進行編譯。采用這種方法,可以充分利用現在的多核處理器功能。開發人員可以不用更改任何現有的代碼即可利用現有計算機硬件的帶來的性能提升。

因此,有了瀏覽器在GPU方面的加速功能,就能為HTML5的canvas的使用提供很好的環境。

當向canvas發出繪畫命令時,瀏覽器直接將指令發到圖形加速器而不需要開發者更多的干預,硬件圖形加速器則以難以置信的運算速度實時繪畫和渲染圖形。可以通過閱讀下文來了解更多的在不同瀏覽器之間的硬件加速測試的具體情況(地址:http://ie.microsoft.com/testdrive/Performance/Paintball/Default.html)

Canvas 2D API

canvas 2D API對象允許開發者繪制各種圖片和圖形。調用時,需要通過getContext方法獲得其上下文,這個方法中有一個參數,目前是2d,調用的代碼如下:

  1. var myCanvas = document.getElementById(“myCanvas”);  
  2.   var context = myCanvas.getContext(“2d”); 

由于每一個canvas元素都有自己的上下文context,因此如果一個頁面中有多個canvas的話,必須對每一個canvas都按上面的方法獲得其context。除此之外,canvas api有如下的若干重要方法:

形狀變換類的方法

◆ scale –允許對當前canvas對象進行形狀大小變換

◆ rotate –允許對當前的canvas對象繞 x軸和y軸旋轉。

狀態變換類方法

◆ save – 保存當前canvas的狀態

◆ restore –恢復上一個已保存的canvas的狀態

文字類方法

◆ font –設置或獲得當前canvas的字體

◆ fillText –向當前canvas填充文字

◆ measureText –獲得指定文字的寬度

更多的關于canvas 2D API的用法,可以參考這個頁面http://msdn.microsoft.com/en-us/library/ff975057.aspx)。下面,我們開始學習如何使用這些API去繪制圖形。

#p#

繪制形狀和顏色

首先,學習下如何畫矩形,下面是相關的方法:

1) fillRect(x, y, w, h),使用當前樣式去繪制一個矩形并對其進行填充,其中x,y,w,h分別是X,Y坐標和寬度高度坐標。

2)strokeRect(x, y, w, h),使用當前的輪廓樣式去勾畫一個矩形,注意這里是用線條去勾畫,而不是去填充一個矩形。

3)clearRect(x, y, w, h),在當前的畫布中清除矩形的內容。

畫矩形最簡單的方法是用fillRect方法了,如下代碼:

  1. var canvas = document.getElementById(“myCanvas”);  
  2.   var context = canvas.getContext(“2d”);  
  3.  context.fillRect(5, 5, 145, 145);  

則在X=5,Y=5的坐標系中畫出一個145*145的矩形,如下圖:

 

 

如果不指定顏色,默認的是使用黑色去填充整個矩形。可以使用fillStyle方法為矩形指定顏色或其他樣式,比如可以充分利用CSS 3中的opacity透明度屬性,比如如下的代碼,分別畫了三個矩形,每個矩形的下半部分都使用了樣式形成了半透明效果:

  1. context.fillRect(5, 5, 145, 145);  
  2. context.fillStyle = “rgb(0, 162, 232)”;  
  3. context.fillRect(40, 55, 145, 145);  
  4. context.fillStyle = “rgba(255, 0, 0, 0.2)”;  
  5. context.fillRect(75, 105, 145, 145); 

其中rgba中比傳統的rgb多了a,即透明度的含義,a的值也是0到1之間的數字,0表示完全透明,1則是完全不透明。運行結果如下圖:

 

如何繪制圓弧

 

接下來學習如何繪制圓(弧),繪制用到的方法如下:

  1. arc(x, y, radius, startAngle, endAngle, anticlockwise) 

畫圓或者圓弧。x,y為圓心坐標,radius為半徑,startAngle,endAngle為開始/結束劃圓的角度,anticlockwise為是否逆時針畫圓(True為逆時針,False為順時針)。

注意這里的角度為弧度制,所以如果畫一個正圓的話,是Math.PI * 2,而畫60°的話,就是60 * Math.PI / 180,比如下面的代碼,用fill樣式填充了一個黑色的正圓:

  1. context.beginPath();  
  2. context.fillStyle = “rgb(0, 0, 0)”;  
  3. context.arc(123, 93, 70, 0, 2 * Math.PI, true);  
  4. context.fill(); 

如果要用stroke筆來勾畫圓形的話,只需要指定勾畫的樣式strokeStyle即可,如下代碼:

  1. context.beginPath();  
  2. context.strokeStyle = “rgb(0, 0, 0)”;  
  3. context.arc(123, 93, 70, 0, 2 * Math.PI, true);  
  4. context.stroke();  

下面是一個畫弧度的代碼例子:

  1. context.beginPath();  
  2. context.strokeStyle = “rgb(0, 0, 0)”;  
  3. context.arc(123, 93, 70, 0, 0.5 * Math.PI, true);  
  4. context.stroke(); 

結果如下圖:

 

如何繪制圓弧

 

接下來,我們學習如何畫貝塞爾曲線。HTML 5的API中,有一個畫這個曲線的很容易的方法bezierCurveTo,相關參數介紹如下:

bezierCurveTo (cp1x, cp1y, cp2x, cp2y, x, y):為一個畫布的當前子路徑添加一條三次貝塞爾曲線。這條曲線的開始點是畫布的當前點,而結束點是 (x, y)。兩條貝塞爾曲線控制點 (cpX1, cpY1) 和 (cpX2, cpY2) 定義了曲線的形狀。當這個方法返回的時候,當前的位置為 (x, y)。下面是相關代碼:

  1. context.lineWidth = 20;  
  2. context.beginPath();  
  3. context.moveTo(5, 50);  
  4. context.bezierCurveTo(30, 30, 130, 530, 200, 100);  
  5. context.stroke(); 

繪畫的圖形如下圖:

 

如何畫貝塞爾曲線

 

由于有了貝塞爾曲線功能的,因此可以繪制很多不同的圖形了,比如下面的代碼繪制出一個簡單的笑臉圖。

  1. // 繪畫臉部輪廓  
  2.   context.beginPath();  
  3.   context.lineWidth = 10;  
  4.   context.strokeStyle = “rgb(0, 0, 0)”;  
  5.   context.arc(200, 233, 150, 0, 2 * Math.PI, true);  
  6.   context.stroke();  
  7.   // 填充面部顏色  
  8.   context.beginPath();  
  9.   context.fillStyle = “rgba(80, 100, 80, 0.4)”;  
  10.   context.arc(200, 233, 150, 0, 2 * Math.PI, true);  
  11.   context.fill();  
  12.   // 繪制右眼  
  13.   context.lineWidth = 20;  
  14.   context.beginPath();  
  15.   context.moveTo(230, 130);  
  16.   context.bezierCurveTo(230, 130, 230, 130, 240, 200);  
  17.   context.stroke();  
  18.   // 繪制左眼  
  19.   context.beginPath();  
  20.   context.moveTo(170, 130);  
  21.   context.bezierCurveTo(170, 130, 170, 130, 160, 200);  
  22.   context.stroke();  
  23.   // 繪制上唇  
  24.   context.beginPath();  
  25.   context.moveTo(100, 230);  
  26.  context.bezierCurveTo(100, 230, 200, 380, 300, 230);  
  27.  context.stroke();  
  28.  // 繪制下唇  
  29.  context.beginPath();  
  30.  context.moveTo(100, 235);  
  31.  context.bezierCurveTo(105, 270, 200, 480, 300, 232);  
  32.  context.stroke(); 

顯示結果如下圖:

 

如何畫貝塞爾曲線

 

目前為止,我們使用的fillStyle都是使用一種單獨的顏色去填充圖形,而實際上,fillStyle也支持使用多種顏色去填充,比如下面的例子,隨機生成了各種顏色去填充畫布實現了彩虹的效果:

  1. var a = 1;  
  2.   for (j = 0; j < 100; j++) {  
  3.   var r = 255g = 0b = 0;  
  4.   for (i = 0; i < 150; i++) {  
  5.   // 黃色  
  6.   if (i < 25) g += 10.2;  
  7.   // 綠色  
  8.   else if (i >= 25 && i < 50) r -10.2;  
  9.   // 藍色  
  10.   else if (i >= 50 && i < 75) {  
  11.   g -10.2;  
  12.  b += 10.2;  
  13.   }  
  14.   // 紫色  
  15.   else if (i >= 75 && i < 100) r += 10.2;  
  16.   // 紅色  
  17.   else b -10.2;  
  18.   context.fillStyle = “rgba(” + Math.floor(r) + “,” +  
  19.   Math.floor(g) + “,” + Math.floor(b) + “,” + a + “)”;  
  20.   context.fillRect(3 * i, 5 * j, 3, 5); } a -0.01; } 

如果不想使用以上的方法去生成漸變顏色,可以使用如下的canvas提供的幾個方法去簡便實現漸變效果:

 

 

addColorStop(offset, color) –addColorStop 方法接受 2 個參數,offset參數必須是一個 0.0 與 1.0 之間的數值,表示漸變中顏色所在的相對位置。例如,0.5 表示顏色會出現在正中間。color 參數必須是一個有效的 CSS 顏色值

createLinearGradient(x0, y0, x1, y1) –該方法接受 4 個參數,表示漸變的起點 (x1,y1) 與終點 (x2,y2)。

createRadialGradient(x0, y0, r0, x1, y1, r1) – 該方法接受 6 個參數,前三個定義一個以 (x1,y1) 為原點,半徑為 r1 的圓,后三個參數則定義另一個以 (x2,y2) 為原點,半徑為 r2 的圓。

下面的代碼演示了使用漸變的效果:

  1. var gradient = context.createLinearGradient(0, 0,0, 145);  
  2. gradient.addColorStop(0, “#00ABEB”);  
  3. gradient.addColorStop(0.5, “yellow”);  
  4. gradient.addColorStop(0.8, “green”);  
  5. gradient.addColorStop(1, “white”);  
  6. context.fillStyle = gradient;  
  7. context.fillRect(5, 5, 145, 145);  

實現的效果如下圖:

 

原文:http://tech.it168.com/a2011/1108/1270/000001270295_all.shtml

【編輯推薦】

  1. 使用HTML 5和Javascript設計繪圖程序
  2. 10個讓你忘記Flash的HTML 5應用演示
  3. HTML 5 VS Flash 誰是海賊王
  4. HTML 5和HTML 4的10個關鍵區別
  5. HTML 5特效頁面及js測試頁面匯總推薦
責任編輯:陳貽新 來源: it168
相關推薦

2011-08-30 09:07:30

HTML 5

2011-07-12 13:21:34

2009-09-25 10:23:51

HTML 5新特性

2011-04-25 14:20:49

DojoHTML 5

2012-06-04 10:16:18

HTML5

2011-04-22 15:02:19

HTML5Dojo

2011-07-19 13:39:20

iOS HTML5

2011-11-18 13:25:48

HTML 5

2012-09-24 13:49:13

HTML5CanvasJS

2012-06-12 09:53:14

HTML5

2012-05-09 09:41:58

HTML5

2009-06-29 17:42:03

Tapestry5新特

2010-02-04 10:55:12

ibmdwPowerVM虛擬化

2011-11-25 14:20:57

HTML 5

2012-02-22 15:41:50

HTML 5

2012-05-29 09:57:10

HTML5

2012-02-24 15:28:36

ibmdw

2017-07-05 16:22:09

HTML5canvas動態

2012-08-30 10:18:09

HTML5CanvasHTML5實例

2011-02-14 10:49:40

HTML 5
點贊
收藏

51CTO技術棧公眾號

一区二区三区久久| 国产美女av一区二区三区| 亚洲免费高清视频| 手机视频在线观看| h片在线播放| 99精品欧美一区| 国产日韩专区在线| 日本一本高清视频| 91亚洲人成网污www| 亚洲国产欧美一区二区丝袜黑人| 又色又爽又高潮免费视频国产| 久草免费在线| 99re66热这里只有精品3直播 | 欧美少妇一区| 精品人妻一区二区三区麻豆91 | 欧美高清视频一区二区| 97超碰在线资源| 不卡一区视频| 91国产丝袜在线播放| 红桃一区二区三区| 成人免费在线电影| 91一区二区三区在线观看| 国产在线拍偷自揄拍精品| 四虎成人永久免费视频| 欧美激情第8页| 最近2019年手机中文字幕| 色综合久久五月| 免费一级欧美片在线观看网站| 欧洲色大大久久| 俄罗斯av网站| 污片视频在线免费观看| 国产精品第四页| 日韩欧美亚洲在线| 欧美理论在线观看| av毛片久久久久**hd| 3d动漫精品啪啪一区二区三区免费| 波多野结衣爱爱| 久久久久久亚洲精品杨幂换脸| 国内精品久久久久影院 日本资源| 啪啪一区二区三区| 日韩精品免费| 自拍视频国产精品| 成人精品一二三区| 成人情趣视频网站| 国产亚洲欧美视频| 手机看片日韩av| 国产伦精品一区二区三区视频| 国产视频欧美视频| 老司机福利av| 伊甸园亚洲一区| 日韩成人在线网站| av2014天堂网| 日韩av三区| 亚洲国产高清福利视频| 国产大尺度视频| 一区视频网站| 亚洲精品在线电影| 第四色在线视频| 国产精品巨作av| 日韩成人网免费视频| 成人午夜福利一区二区| 啪啪亚洲精品| 中文字幕日韩精品在线观看| 在线视频这里只有精品| 欧美一区二区三区久久精品| 久久777国产线看观看精品| 国产在线综合网| 在线视频日韩| 国产精品美女呻吟| 国产又粗又猛又爽| 成人免费视频一区| 麻豆91蜜桃| 3p视频在线观看| 亚洲精品免费播放| 精品无码国模私拍视频| 亚洲黄色免费看| 欧美午夜免费电影| 亚洲无在线观看| www.久久东京| 亚洲性生活视频| 国产又粗又硬又长又爽| 亚洲三级国产| 国产精品成人在线| 精品人妻一区二区三区日产乱码| 成人av中文字幕| 亚洲mv在线看| f2c人成在线观看免费视频| 色婷婷国产精品| theporn国产精品| 精品淫伦v久久水蜜桃| 一区二区三区高清国产| 久久中文字幕无码| 日本成人在线一区| 国产成人亚洲欧美| 国产在线一二三| 自拍偷拍亚洲综合| 亚洲熟妇国产熟妇肥婆| 国产精品亚洲综合在线观看| 亚洲精品久久久久| 亚洲精品久久久久久国| 国产精品毛片| 91九色视频在线观看| 日av在线播放| 一区二区三区精品| 亚洲国产日韩欧美在线观看| 欧美电影免费网站| 久久精品国产亚洲精品| 波多野结衣电影在线播放| 成人黄色在线看| 9999在线观看| 69堂免费精品视频在线播放| 欧美精品一区二区不卡| www.涩涩爱| 六月丁香综合| 国产精品久久波多野结衣| 麻豆视频在线观看免费网站| 日本丰满少妇一区二区三区| 国产精品无码一区二区三| 艳女tv在线观看国产一区| 国产精品久久色| 欧美孕妇孕交| 亚洲国产精品嫩草影院| 四虎成人在线播放| 91欧美日韩| 国产精品久久久久久久久男| 香蕉视频黄色片| 亚洲国产视频直播| 亚洲熟妇一区二区| 伊人久久大香线| 成人信息集中地欧美| 国产www.大片在线| 亚洲欧美日韩国产成人精品影院| 国产一伦一伦一伦| 欧洲杯什么时候开赛| 4438全国成人免费| 少妇人妻一区二区| 亚洲成人免费电影| 欧美做受高潮中文字幕| 国内精品福利| 国产精选在线观看91| 欧美videossex| 精品日韩在线一区| 久草中文在线视频| 成人av免费观看| 妞干网在线观看视频| 久久久久观看| 欧美亚洲日本网站| 成人在线播放视频| 欧美三级午夜理伦三级中视频| 一级黄色片网址| 老司机精品视频在线| 一本一道久久a久久精品综合 | 国产精品成人在线视频| 日韩av中文在线观看| 五月天久久狠狠| 亚洲欧美一级| 欧美成人在线网站| 中国一级特黄视频| 亚洲免费色视频| 精品人妻一区二区免费| 国产免费成人| 日韩欧美99| 91精品网站在线观看| 欧美成人剧情片在线观看| 亚洲精品97久久中文字幕无码| 午夜伦理一区二区| 一道本在线观看| 精品在线视频一区| 精品人妻人人做人人爽| 亚洲人和日本人hd| 国产女同一区二区| 青青青草视频在线| 亚洲美女精品成人在线视频| 中文字幕在线观看欧美| 亚洲乱码精品一二三四区日韩在线| 黄色国产在线视频| 另类国产ts人妖高潮视频| 中文字幕在线亚洲精品| 卡一精品卡二卡三网站乱码 | 日韩伦理在线免费观看| 黄色不卡一区| 操人视频欧美| 国产超碰精品| 欧美老女人性生活| 国产一二在线观看| 欧美一级日韩免费不卡| 中文字幕亚洲精品一区| 中文字幕在线不卡| 欧美肉大捧一进一出免费视频| 视频一区在线播放| 欧美大黑帍在线播放| 欧美日韩国产传媒| 国产精品亚洲不卡a| 国产福利亚洲| 97欧美精品一区二区三区| 亚洲s色大片| 欧美成人性战久久| 涩涩视频在线观看| 午夜电影一区二区| 中文字幕美女视频| 久久只精品国产| 手机av在线网站| 日本美女视频一区二区| 久久精品国产sm调教网站演员| 久久精品国产www456c0m| 久久精品日产第一区二区三区乱码 | 精品国产aⅴ| 国产亚洲精品自在久久| 成人在线啊v| 欧美影院久久久| 日本资源在线| 久久精品久久久久久| 番号在线播放| 精品调教chinesegay| 成人精品在线播放| 欧美一区二区高清| 一级aaaa毛片| 欧美午夜精品一区二区三区| 国产性猛交╳xxx乱大交| 亚洲国产精品久久不卡毛片| 伊人久久久久久久久久久久久久| 久久精品这里都是精品| 538国产视频| 波多野结衣精品在线| 麻豆精品国产传媒| 国产在线不卡一卡二卡三卡四卡| 搡女人真爽免费午夜网站| 国产精品久久久久久久免费软件| 美女黄色免费看| 国产精品大片| 日本a在线天堂| 欧美全黄视频| 国产一区二区三区在线免费| 亚洲成人tv| 综合久久国产| 婷婷综合视频| 91社在线播放| 欧美精品播放| 日韩在线观看a| 亚洲午夜一级| 国自产拍偷拍精品啪啪一区二区| 亚洲激情午夜| 成熟丰满熟妇高潮xxxxx视频| 999亚洲国产精| 国产精品国产亚洲精品看不卡| 亚洲毛片av| 人妻精品无码一区二区三区| 妖精视频成人观看www| 老太脱裤让老头玩ⅹxxxx| 亚洲经典三级| 国产主播在线看| 日韩高清不卡一区二区三区| 欧美精品aaaa| 美日韩一区二区三区| 污污视频网站在线| 国产精品一区二区久久精品爱涩| 丰满少妇xbxb毛片日本| 99久久婷婷国产综合精品电影 | 中文字幕的久久| 亚洲 欧美 国产 另类| 亚洲精品一二三| 日本特黄特色aaa大片免费| 欧美日韩国产综合新一区| 波多野结衣黄色网址| 欧美日韩电影在线播放| 国产成人精品白浆久久69| 亚洲国产97在线精品一区| 免费资源在线观看| 最新国产精品拍自在线播放| 99福利在线| 国产91精品视频在线观看| av成人免费| 亚洲综合色av| 亚洲精品一级二级三级| 中文字幕日韩一区二区三区| 国产综合网站| 日韩一级理论片| 国产成人免费视频精品含羞草妖精| 88av在线播放| 中文字幕一区三区| 亚洲国产精品成人无久久精品| 色先锋aa成人| 超碰在线播放97| 亚洲欧洲第一视频| 亚洲婷婷噜噜| 国产精品久久精品| 中文字幕视频精品一区二区三区| 欧美日韩一区二| 综合av在线| 久久国产色av免费观看| 国产福利一区二区三区视频| 国产精品一二三区在线观看| 亚洲制服欧美中文字幕中文字幕| 91黑人精品一区二区三区| 精品嫩草影院久久| wwwww在线观看免费视频| 久久人人爽人人爽人人片av高请| 成人做爰视频www| 国模精品一区二区三区| 婷婷久久综合| www.亚洲天堂网| 粉嫩在线一区二区三区视频| 五月天婷婷丁香网| 欧美日韩精品在线播放| 国产av精国产传媒| 色系列之999| 中文av在线全新| 国产精品v欧美精品∨日韩| 日本一本不卡| 黄色片一级视频| 97se亚洲国产综合自在线不卡 | av一区二区三区在线观看| 成人精品电影| 各处沟厕大尺度偷拍女厕嘘嘘| 国产91丝袜在线观看| 久久精品一区二区三区四区五区| 日韩欧美高清视频| 少妇喷水在线观看| 欧美国产高跟鞋裸体秀xxxhd| 日韩五码电影| 亚洲一区影院| 蜜臀av性久久久久蜜臀aⅴ| 右手影院亚洲欧美| 欧美日韩另类字幕中文| 好吊视频一区二区三区| 久久91亚洲精品中文字幕奶水| 成人在线分类| www.-级毛片线天内射视视| 美女性感视频久久| 黄色免费一级视频| 欧美三级在线看| 秋霞a级毛片在线看| 国产精品视频一| 999国产精品视频| 亚洲久久中文字幕| 综合av第一页| 国产v片在线观看| 欧美精品在线网站| 97人人澡人人爽91综合色| 国产欧美精品aaaaaa片| 成人在线视频一区| 久草精品视频在线观看| 精品av综合导航| а√在线中文在线新版| 精品久久久久久一区| 99精品免费视频| 久久久久亚洲av无码专区桃色| 黄色精品在线看| 国产免费视频在线| 国产免费亚洲高清| 欧美一区不卡| 亚洲视频天天射| 欧美日韩精品中文字幕| 国产精品一区二区婷婷| 国产在线精品自拍| 欧美va亚洲va日韩∨a综合色| 国产乱国产乱老熟300部视频| 亚洲国产美女搞黄色| 天堂a√在线| 国产精品久久婷婷六月丁香| 国产精品99久久久久久动医院| 6080国产精品| 五月婷婷综合在线| 国产在线视频网| 成人免费网站在线| 激情丁香综合| 亚洲女优在线观看| 欧美一区日韩一区| 91探花在线观看| 欧美欧美一区二区| 国产曰批免费观看久久久| 亚洲精品在线观看av| 国产亚洲精品综合一区91| 警花av一区二区三区| 每日在线更新av| 国产精品乱人伦一区二区| 精品国产亚洲av麻豆| 日本精品免费观看| 欧美xxav| www.免费av| 欧美夫妻性生活| 欧亚av在线| 91麻豆天美传媒在线| 91在线国产福利| 国产又黄又粗又长| 91国内免费在线视频| 色小子综合网| 一女三黑人理论片在线| 欧美精选在线播放| 精精国产xxxx视频在线野外| 亚洲欧洲国产精品久久| 丁香天五香天堂综合| 这里只有精品6| 91福利视频在线观看| 亚洲欧美综合久久久| 一级特黄曰皮片视频| 亚洲成人aaa| 日本精品在线播放| 欧美三级理论片| 午夜av一区二区|