• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于SVG的思維導(dǎo)圖的系統(tǒng)實現(xiàn)

    2016-05-11 06:58:37任志豪賴源勁
    現(xiàn)代計算機 2016年9期
    關(guān)鍵詞:實現(xiàn)思維導(dǎo)圖

    任志豪,賴源勁

    (華南師范大學軟件學院,廣州 510631)

    ?

    基于SVG的思維導(dǎo)圖的系統(tǒng)實現(xiàn)

    任志豪,賴源勁

    (華南師范大學軟件學院,廣州510631)

    摘要:基于SVG實現(xiàn)的繪圖技術(shù),具有對象化和易于交互的特點,適合用于思維導(dǎo)圖在線繪制的實現(xiàn)?;赟VG實現(xiàn)的思維導(dǎo)圖繪制系統(tǒng),其基礎(chǔ)功能有思維導(dǎo)圖節(jié)點及邊的繪制、增刪、位置變換和拖動,其中的關(guān)鍵技術(shù)點包括圖形的位置計算和渲染等。

    關(guān)鍵詞:思維導(dǎo)圖;SVG;實現(xiàn)

    0 引言

    隨著信息時代的飛速發(fā)展,人們在日常工作或者學習中越來越需要記錄信息和知識,使用思維導(dǎo)圖可為人們更高效地記錄和歸納信息。思維導(dǎo)圖又稱心智圖,它從中心主題出發(fā),發(fā)散關(guān)鍵點,以簡潔的信息表示整個結(jié)構(gòu)。一個典型的思維導(dǎo)圖由多個節(jié)點所組成,一個節(jié)點也可引申出多個子節(jié)點,體現(xiàn)了更清晰的分類思想,通過合理的分類方法,可以清晰地整理任務(wù)和快速定位信息的關(guān)鍵點。本文的主要內(nèi)容則是如何實現(xiàn)一個思維導(dǎo)圖的Web應(yīng)用。

    該系統(tǒng)使用SVG技術(shù)繪制思維導(dǎo)圖的圖形。SVG是可伸縮矢量圖形(Scalable Vector Graphics),用于描述二維矢量的一種圖形格式。SVG是一種基于XML的語言,可以在XML或者HTML中嵌入SVG。SVG的事件模型基于SVG圖形元素上,所以SVG具有很好的交互性。目前的已有的思維導(dǎo)圖Web應(yīng)用中,某些網(wǎng)站的思維導(dǎo)圖應(yīng)用使用了Canvas技術(shù),而Canvas是像素級別的圖形繪制技術(shù),不太適合于思維導(dǎo)圖這種對象級別的圖形繪制中;另外一些網(wǎng)站的思維導(dǎo)圖應(yīng)用使用了Flash技術(shù),但Flash技術(shù)比較繁瑣,性能不高,而且Flash需要下載插件,在一部分的操作系統(tǒng)不能使用。與上述兩種技術(shù)相比,SVG將圖像當成對象,可將思維導(dǎo)圖中節(jié)點和線等圖形表現(xiàn)為對象,事件模型基于圖形元素上的特性使得SVG更適合用于動態(tài)交互的應(yīng)用。目前兼容SVG的瀏覽器有IE9以及其他主流的瀏覽器,使得SVG的應(yīng)用具有較好的移植性。該系統(tǒng)使用一個SVG圖形庫——Raphael.js提供的API來繪制思維導(dǎo)圖應(yīng)用。

    1 系統(tǒng)功能與系統(tǒng)結(jié)構(gòu)

    該系統(tǒng)的主要功能有:添加節(jié)點、刪除節(jié)點和拖動節(jié)點。

    該系統(tǒng)采用面向?qū)ο蟮脑O(shè)計方式,如圖1所示,當中有4個主要的對象類型:Node、Edge、Graph和Renderer,前3個對象類型屬于數(shù)據(jù)層,第4個對象類型屬于渲染層。Node和Edge分別對應(yīng)于思維導(dǎo)圖的節(jié)點和邊,每一個節(jié)點都有一個父節(jié)點引用與父節(jié)點相連的父邊引用,用于表示節(jié)點與節(jié)點之間的關(guān)系。Graph 與Node之間是聚合關(guān)系,它擁有思維導(dǎo)圖根節(jié)點和所有節(jié)點的列表。Renderer用于渲染圖像,只有Graph擁有一個Render,Render負責具體的渲染操作,使得在數(shù)據(jù)有改變時才做出相應(yīng)的渲染,這樣的層次劃分可以使得數(shù)據(jù)操作和視圖渲染不會耦合在一起。只有Graph模塊暴露給客戶端使用,減少了繪圖系統(tǒng)和客戶端的耦合度。

    圖1 

    2 繪制基礎(chǔ)元素圖形的實現(xiàn)

    Raphael.js提供繪制基本圖形的功能,例如長方形,圓形。這些基本圖形可以組在一起形成集合,對這個集合進行的操作即對集合內(nèi)所有元素進行操作,在Raphael.js中,這個集合稱為Set。

    2.1節(jié)點的繪制

    一個節(jié)點由一個文本和長方形組成,節(jié)點的位置由左上角坐標決定。為了讓文本在長方形中在長方形區(qū)域里水平垂直居中,先繪制文本,求得文本所占區(qū)域的寬度和長度,然后加上長方形的上下補白,即可求得長方形的寬度和長度,再將文本位移二分之一的長方形寬度和高度即可讓文本在長方形區(qū)域中水平垂直居中。最后將長方形設(shè)置為新的寬度和高度。實現(xiàn)代碼如下:

    function drawNode(paper, x, y){ // paper為Raphael對象

    var label = paper.text(x, y, '節(jié)點');

    var textBox = label.getBBox();

    var nodeXPadding = 40; //長方形的x補白

    var nodeYPadding = 20; //長方形的y補白

    //得到矩形的長度

    var rectWidth = textBox.width + nodeXPadding;

    var rectHeight = textBox.height + nodeYPadding;

    var rect = paper.rect(x, y, 1, 1, 4);

    label.toFront();

    label.attr({

    x: x + rectWidth * 0.5,

    y: y + rectHeight * 0.5,

    'font-size': 14

    });

    rect.attr({

    width: rectWidth,

    height: rectHeight,

    'stroke': '#808080',

    'stroke-width': 1

    });

    return paper.set().push(label).push(rect);

    }

    2.2連線的繪制

    如果節(jié)點間的連線都用直線,思維導(dǎo)圖整體上會不太美觀。于是,為了讓連線更好看,在根結(jié)點與第一層節(jié)點間使用貝塞爾曲線,其他的連線都使用“三段連線”。

    (1)貝塞爾曲線的繪制

    ①貝塞爾曲線

    貝塞爾曲線是應(yīng)用于二維圖形應(yīng)用程序的數(shù)學曲線,通過計算貝塞爾曲線的計算公式,即可精確地繪制出復(fù)雜的曲線。貝塞爾曲線有三種重要的點:起始點、終止點和控制點。下面以二階貝塞爾曲線為例說明其原理,如圖2所示,設(shè)P0為起始點,P1為控制點,P2為終止點,在P0到P1的線段上作點Q0,在P1到P2的線段上作點Q1,在Q0和Q1的線段上作點Q2

    圖2 

    引入?yún)?shù)t,使以下比例成立

    求得Q2為:

    Q2=(1-t)2P0+2t(1-t)P1+

    當t的范圍在0到1時,表示由三個頂點P0、P1、P2即可描繪一條二階的貝塞爾曲線。

    ②根節(jié)點與第一層節(jié)點的連線

    為了美觀,根結(jié)點與第一層節(jié)點使用貝塞爾曲線,起始點為根節(jié)點的中心點,終止點為第一層節(jié)點的中心點,引入?yún)?shù)k1和k2,再加上起始點和終止點的坐標來求出控制點。Raphael.js的Paper.path()提供了繪制貝塞爾曲線的方法。實現(xiàn)代碼如下:

    // paper為Raphael對象,source為源節(jié)點的set集合

    // target為目標節(jié)點的set集合

    function drawCurve(paper, source, target){

    var sourceBox = source.getBBox();

    var targetBox = target.getBBox();

    //求出起始點、控制點、終止點

    var x1 =(sourceBox.x + sourceBox.x2)/2;

    var y1 =(sourceBox.y + sourceBox.y2)/2;

    var x2 =(targetBox.x + targetBox.x2)/2;

    var y2 =(targetBox.y + targetBox.y2)/2;

    var k1 = 0.8;

    var k2 = 0.2;

    var pathPoints = {

    x1: x1,

    y1: y1,

    x2: x2,

    y2: y2,

    x3: x2 - k1 *(x2 - x1),

    y3: y2 - k2 *(y2 - y1)

    };

    var edgePath = paper.path(Raphael.fullfill(

    "M{x1},{y1}Q{x3},{y3},{x2},{y2}",pathPoints)); edgePath.attr({

    'stroke': '#999',

    'stroke-width': 2

    });

    edgePath.toBack();

    return paper.set().push(edgePath);

    }

    (2)“三段連線”的繪制

    除了根節(jié)點與第一層的連線,其他連線都采用“三段連線”。如圖3所示,“三段連線”由path1、path2、path3組成,這樣的連線可以使得兩層以外的節(jié)點看起來更緊湊,更美觀。

    圖3 

    3 添加和刪除節(jié)點時節(jié)點位置渲染

    3.1添加和刪除節(jié)點時的渲染

    添加和刪除節(jié)點功能的實現(xiàn)的關(guān)鍵點在于如何計算出新增的節(jié)點及剩余節(jié)點的新的坐標位置。在該系統(tǒng)的實現(xiàn)中,某一節(jié)點的位置僅受到父節(jié)點的當前位置、兄弟節(jié)點的數(shù)目和子節(jié)點的數(shù)目的影響。當添加一個新節(jié)點的時候,需要計算出新節(jié)點的位置和新節(jié)點的兄弟節(jié)點的新位置。當刪除一個節(jié)點的時候,需要計算剩余兄弟節(jié)點的新位置。

    3.2渲染子節(jié)點的垂直位置

    當添加或刪除一個節(jié)點時,為了使該節(jié)點所在層次的所有子節(jié)點相對于父節(jié)點垂直居中,會重新渲染子節(jié)點的位置,子節(jié)點的位置具體計算方式如下。

    圖4 

    如圖4所示,設(shè)父節(jié)點的中心點F坐標為(hfx, hfy),父節(jié)點與子節(jié)點的橫向距離interval,父節(jié)點的寬為parentWidth。作水平線段FC,C點的橫坐標即為子節(jié)點的橫坐標childX。

    每個子節(jié)點上下之間都有補白padding。設(shè)area-Height的值為所有子節(jié)點的高度和補白的高度,迭代所有子節(jié)點,即可求得areaHeight。然后在線段FC的C點上作一條高度為areaHeight的垂直平分線AB。

    通過迭代子節(jié)點的高度可以求出每個子節(jié)點的垂直位置childY。設(shè)一個節(jié)點的高度加上上下補白稱為節(jié)點區(qū)域,startY為每一輪迭代中當前子節(jié)點的節(jié)點區(qū)域垂直坐標。在每一輪迭代中,當前子節(jié)點的childY等于當前子節(jié)點的startY加上一個padding。根據(jù)求得每個子節(jié)點的左上角坐標(childX, childY)即可渲染對應(yīng)子節(jié)點。實現(xiàn)代碼如下:

    function renderChild(father, padding, interval){

    var hfx, //父節(jié)點的中心x軸坐標

    hfy, //父節(jié)點的中心y軸坐標

    chilldren, //子節(jié)點數(shù)組

    childX, //子節(jié)點的x軸坐標

    startY, //子節(jié)點區(qū)域的起始坐標

    areaHeight = 0; //所有子節(jié)點的高度加補白

    hfx = father.x + interval;

    hfy = father.y + interval;

    children.forEach(function(child){

    "use strict";

    var childY = startY + padding;

    //已經(jīng)求得當前子節(jié)點坐標(childX, childY),在這里作渲染操作

    renderNode(child, childX, childY);

    startY += getNodeHeight(child)+ padding * 2;

    });

    }

    function getNodeHeight(){} //獲取節(jié)點高度

    function renderNode(node, x, y){} //渲染節(jié)點,如果節(jié)點不存在則新建節(jié)點,否則移動節(jié)

    3.3調(diào)整父節(jié)點的同級節(jié)點的垂直位置

    添加或刪除節(jié)點會影響父節(jié)點的同級節(jié)點的垂直位置。如圖5所示,當添加一個節(jié)點時,該節(jié)點的父節(jié)點的同級節(jié)點需要被“撐開”:設(shè)該節(jié)點的1/2的區(qū)域高度為moveY,父節(jié)點的同級節(jié)點中,比父節(jié)點高的向上偏移一個moveY,比其低的向下偏移一個moveY,偏移操作可以調(diào)用svg的transform方法垂直平移節(jié)點。父節(jié)點的父節(jié)點的同級節(jié)點也做相同的處理,一直遞歸到根節(jié)點為止。當刪除一個節(jié)點時,節(jié)點的父節(jié)點的同級節(jié)點會被“壓低”,“壓低”操作和上述操作相似。注意,當增加第一個子節(jié)點和刪除最后一個節(jié)點時,不會進行“撐開”或者“壓低”操作。

    圖5 

    4 拖動節(jié)點

    4.1根節(jié)點的拖動

    當拖動根節(jié)點時,整個思維導(dǎo)圖也會移動。實現(xiàn)這種效果的其中一個方案就是移動整個思維導(dǎo)圖內(nèi)的節(jié)點和連線。單個svg圖形的移動操作需要綁定mouseup、mousedown和mousemove三個事件,在移動時會不斷地觸發(fā)mousemove事件重新渲染svg圖形的位置,因此,移動svg圖形操作的性能并不高。移動單個svg對象不會有很大的性能瓶頸,但是如果一次性移動多個svg對象,在移動時會有明顯的“卡頓”感覺,嚴重影響用戶體驗。

    實現(xiàn)整個思維導(dǎo)圖移動的另一個方案就是改變svg區(qū)域的視野。在svg中,視野是觀察世界的一個矩形區(qū)域,而世界是無窮大的。當改變視野的坐標時,視野中觀察到的物體的位置看上去好像是改變了,實際上是物體在世界上的位置沒有改變,而是觀察世界的矩形區(qū)域移動到了另外一個位置。如圖6和圖7所示,一開始物體在視野內(nèi)的中央,當將視野向右下移動時,物體的位置變成了在視野內(nèi)的左上角,效果上和將整個視圖左上角拖動是一樣的。

    svg標簽提供了viewbox屬性來控制視野的范圍,而Raphale.js提供一個setViewBox的方法更便捷地控制視野。拖動根結(jié)點時改變svg視野的實現(xiàn)與上一個方案相比,既能達到拖動整個思維導(dǎo)圖的效果,性能上又能大幅度地提高。

    4.2非根節(jié)點的拖動

    本文實現(xiàn)的系統(tǒng)將拖動非根節(jié)點用于改變父子關(guān)系:節(jié)點拖動結(jié)束后,如果該節(jié)點與另一個節(jié)點重疊,則使重疊節(jié)點變?yōu)樵摴?jié)點的父節(jié)點,否則,節(jié)點回到原來的位置。

    圖6 

    圖7 

    一個節(jié)點是Raphael.js的set對象,set對象可以監(jiān)聽鼠標事件。監(jiān)聽每個非根節(jié)點的mouseup、mousemove和movedown事件,分別對應(yīng)按下鼠標、鼠標移動、放下鼠標三個狀態(tài)。在按下鼠標狀態(tài)下,會以當前節(jié)點為原型克隆一個節(jié)點用于占位。在拖動鼠標狀態(tài)下,通過改變節(jié)點的坐標實現(xiàn)節(jié)點位置改變。在放下鼠標狀態(tài)下,會判斷當前拖動的節(jié)點是否與其他節(jié)點重疊,通過Raphael.js的isBBoxIntersect函數(shù)即可判斷兩個節(jié)點是否重疊,如果重疊,則改變節(jié)點的父子關(guān)系,實現(xiàn)流程如圖8:

    圖8 

    5 結(jié)語

    本文主要闡述了如何使用SVG實現(xiàn)思維導(dǎo)圖,SVG具有對象化的特點,使得很容易地將思維導(dǎo)圖的節(jié)點與SVG對象對應(yīng)起來,且基于SVG對象所實現(xiàn)的事件機制,令繪圖時的交互實現(xiàn)變得簡單和高效。本文實現(xiàn)的系統(tǒng)將數(shù)據(jù)層和渲染層分離開來,讓數(shù)據(jù)和視圖解耦開來。本文介紹了如何繪制思維導(dǎo)圖的兩個基本元素——節(jié)點和邊;添加或刪除節(jié)點時各個節(jié)點位置都會有所改變,如何計算和渲染節(jié)點的位置是實現(xiàn)添刪節(jié)點功能的關(guān)鍵;本文還闡述了實現(xiàn)拖動節(jié)點改變父子關(guān)系的關(guān)鍵點。

    參考文獻:

    [1]高科.基于HTML5的數(shù)據(jù)可視化實現(xiàn)方法研究[J].科技傳播,2013,01:186-187.

    [2]朱文.基于HTML5Canvas技術(shù)的在線圖像處理方法的研究[D].華南理工大學,2013.

    [3]高峰,談俊忠. Java Script在基于SVG的網(wǎng)絡(luò)地圖中的應(yīng)用[J].江西師范大學學報(自然科學版),2004,03:262-265.

    [4]徐曼.基于HTML5的統(tǒng)計圖表系統(tǒng)的研究與設(shè)計[D].武漢科技大學,2012.

    [5]管英祥,任淵博,向為鋒.基于HTML Canvas的電磁態(tài)勢繪制方法[J].電腦知識與技術(shù),2015,14:68-70.

    [6]王喬俊,何原榮,李佳楠.基于SVG的旅游地圖符號庫的設(shè)計與實現(xiàn)[J].湖北科技學院學報,2015,08:21-23.

    [7]宋善德,熊展志,李衛(wèi)國,唐咸峰.基于SVG的矢量圖形編輯器的設(shè)計與實現(xiàn)[J].計算機工程與科學,2003,02:91-94.

    任志豪(1993-),男,廣東花都人,本科生,現(xiàn)就讀于華南師范大學,研究方向為軟件工程

    賴源勁(1994-),男,廣東番禺人,本科生,現(xiàn)就讀于華南師范大學,研究方向為數(shù)據(jù)庫

    Implementation of Mind Map System Based on SVG

    REN Zhi-hao,LAI Yuan-jin
    (Software College, South China Normal University, Guangzhou 501631)

    Abstract:The graphics technology which based on SVG, has characteristics of objectivity and convenient interaction, so it is suitable for the realization of the online mind map drawing. The basics functions of the mind map system based on the SVG include rendering node and edge, adding and removing nodes, changing nodes' position, dragging nodes. The key technical points of theses functions include calculating and rendering the nodes position.

    Keywords:Mind Map; SVG; Realization

    收稿日期:2015-12-31修稿日期:2016-03-02

    作者簡介:book=75,ebook=76

    文章編號:1007-1423(2016)09-0070-06

    DOI:10.3969/j.issn.1007-1423.2016.09.018

    基金項目:國家級大學生創(chuàng)新訓(xùn)練計劃(No.2014115)

    猜你喜歡
    實現(xiàn)思維導(dǎo)圖
    信息系統(tǒng)安全評價系統(tǒng)設(shè)計及實現(xiàn)
    高校聲像檔案數(shù)字化管理的實現(xiàn)路徑
    辦公室人員尚需制定個人發(fā)展規(guī)劃
    蘇州信息學院教務(wù)管理系統(tǒng)的設(shè)計與實現(xiàn)
    思維可視化技術(shù)應(yīng)用于課堂教學
    科技視界(2016年18期)2016-11-03 21:55:21
    論思維導(dǎo)圖在初中英語閱讀教學的應(yīng)用
    人間(2016年26期)2016-11-03 17:10:11
    思維導(dǎo)圖在初中物理概念課教學中的應(yīng)用
    思維導(dǎo)圖軟件輔助初中數(shù)學教學的應(yīng)用研究
    巧用思維導(dǎo)圖提高初中英語課堂教學有效性的探究
    如何實現(xiàn)人企合一
    午夜福利在线观看吧| 欧美精品国产亚洲| 啦啦啦啦在线视频资源| 亚洲精品久久久久久婷婷小说| 在线免费十八禁| 美女主播在线视频| 伊人久久国产一区二区| 久久久久久伊人网av| 一级爰片在线观看| 观看美女的网站| 色综合色国产| 插逼视频在线观看| 十八禁网站网址无遮挡 | 国产成人福利小说| 国产综合懂色| 久久精品综合一区二区三区| 十八禁网站网址无遮挡 | 日本与韩国留学比较| 精品久久久精品久久久| 永久免费av网站大全| 日韩 亚洲 欧美在线| 日本wwww免费看| 老女人水多毛片| 免费看美女性在线毛片视频| 少妇的逼水好多| 久久精品久久精品一区二区三区| 国产av码专区亚洲av| 亚洲国产精品成人久久小说| av国产免费在线观看| 久久精品熟女亚洲av麻豆精品 | 别揉我奶头 嗯啊视频| av一本久久久久| 麻豆久久精品国产亚洲av| 亚洲精品国产av蜜桃| 女人十人毛片免费观看3o分钟| 少妇丰满av| 久久久久免费精品人妻一区二区| 久久午夜福利片| 日韩三级伦理在线观看| 美女大奶头视频| 欧美潮喷喷水| 熟女人妻精品中文字幕| 国国产精品蜜臀av免费| 久久99精品国语久久久| 黄色配什么色好看| 国产91av在线免费观看| 美女cb高潮喷水在线观看| 亚洲综合色惰| 亚洲激情五月婷婷啪啪| 日本一本二区三区精品| 99久久精品国产国产毛片| 禁无遮挡网站| 天堂中文最新版在线下载 | 国产精品国产三级国产av玫瑰| 国产女主播在线喷水免费视频网站 | 午夜精品国产一区二区电影 | 成人毛片60女人毛片免费| 在线播放无遮挡| 亚洲国产欧美在线一区| 亚洲成人精品中文字幕电影| 成人一区二区视频在线观看| 久久99热6这里只有精品| 菩萨蛮人人尽说江南好唐韦庄| 亚洲成色77777| 三级国产精品片| 乱人视频在线观看| 五月伊人婷婷丁香| 美女脱内裤让男人舔精品视频| 久久久久久久大尺度免费视频| 久久精品久久精品一区二区三区| 亚洲欧美日韩无卡精品| av天堂中文字幕网| 中文字幕久久专区| 色视频www国产| 天堂影院成人在线观看| 搡女人真爽免费视频火全软件| 国产老妇女一区| 大又大粗又爽又黄少妇毛片口| 三级毛片av免费| 视频中文字幕在线观看| 少妇丰满av| av在线蜜桃| 国产伦在线观看视频一区| 狠狠精品人妻久久久久久综合| 亚洲va在线va天堂va国产| 国产视频首页在线观看| 高清日韩中文字幕在线| 久久久亚洲精品成人影院| 国产成人精品福利久久| 午夜精品国产一区二区电影 | 亚洲av中文av极速乱| 白带黄色成豆腐渣| a级一级毛片免费在线观看| 国产v大片淫在线免费观看| 最近视频中文字幕2019在线8| 日本wwww免费看| 91午夜精品亚洲一区二区三区| 亚洲性久久影院| 久久精品国产亚洲av天美| 在线 av 中文字幕| 嫩草影院精品99| 亚洲怡红院男人天堂| 精品国产一区二区三区久久久樱花 | 成人午夜高清在线视频| 美女主播在线视频| 黄片无遮挡物在线观看| 国产女主播在线喷水免费视频网站 | 午夜免费观看性视频| 国产精品一二三区在线看| 丝袜美腿在线中文| 日韩av免费高清视频| 成人国产麻豆网| 久久久亚洲精品成人影院| 黄色一级大片看看| 久久久久久久久久久免费av| 久久久亚洲精品成人影院| 亚洲激情五月婷婷啪啪| 少妇熟女aⅴ在线视频| 色尼玛亚洲综合影院| 久久久久网色| 淫秽高清视频在线观看| 美女主播在线视频| h日本视频在线播放| 欧美高清成人免费视频www| 亚洲精品一区蜜桃| 少妇人妻精品综合一区二区| 一区二区三区免费毛片| www.色视频.com| 久久热精品热| 欧美xxⅹ黑人| 国产高清不卡午夜福利| 亚洲精品一二三| 欧美97在线视频| 成人亚洲精品av一区二区| 亚洲最大成人手机在线| 免费观看无遮挡的男女| 一级片'在线观看视频| 97人妻精品一区二区三区麻豆| 天天躁夜夜躁狠狠久久av| 亚洲av二区三区四区| 国产午夜精品论理片| 亚洲在线自拍视频| 色视频www国产| 2021少妇久久久久久久久久久| 搡老乐熟女国产| 日日撸夜夜添| 美女大奶头视频| 亚洲欧美一区二区三区黑人 | 99久久九九国产精品国产免费| 欧美日本视频| 精品人妻一区二区三区麻豆| 久久99热6这里只有精品| 亚洲精品影视一区二区三区av| 成人漫画全彩无遮挡| 黑人高潮一二区| 免费播放大片免费观看视频在线观看| 美女主播在线视频| 精华霜和精华液先用哪个| 日产精品乱码卡一卡2卡三| 亚洲精品视频女| 午夜福利网站1000一区二区三区| 亚洲第一区二区三区不卡| 精品国产露脸久久av麻豆 | 国产爱豆传媒在线观看| 欧美不卡视频在线免费观看| 看免费成人av毛片| 人妻制服诱惑在线中文字幕| 欧美激情国产日韩精品一区| 一个人看视频在线观看www免费| 不卡视频在线观看欧美| 中文字幕av在线有码专区| 成人午夜精彩视频在线观看| 久久久久久久久中文| 亚洲av中文字字幕乱码综合| 国产伦精品一区二区三区四那| 一级毛片aaaaaa免费看小| 青春草视频在线免费观看| 黄色欧美视频在线观看| 午夜视频国产福利| 日韩欧美一区视频在线观看 | 午夜爱爱视频在线播放| 久久韩国三级中文字幕| 干丝袜人妻中文字幕| 久久综合国产亚洲精品| 成人特级av手机在线观看| 如何舔出高潮| 三级毛片av免费| 亚洲欧美一区二区三区国产| 男人爽女人下面视频在线观看| 久久久久性生活片| 97精品久久久久久久久久精品| 久久久久九九精品影院| 美女内射精品一级片tv| 欧美zozozo另类| 一夜夜www| 国产黄色小视频在线观看| 少妇的逼好多水| 亚洲av福利一区| 国产成人福利小说| 国国产精品蜜臀av免费| 一级二级三级毛片免费看| 一个人免费在线观看电影| 69人妻影院| 久久精品久久精品一区二区三区| 日韩成人av中文字幕在线观看| 狂野欧美激情性xxxx在线观看| 一级a做视频免费观看| 久久久久久国产a免费观看| 丰满乱子伦码专区| 国产亚洲最大av| 亚洲精品色激情综合| 国产午夜精品久久久久久一区二区三区| 联通29元200g的流量卡| 国产日韩欧美在线精品| 亚洲人成网站高清观看| 国产成人a区在线观看| 国产高清三级在线| 又爽又黄a免费视频| 又爽又黄a免费视频| 国产综合懂色| 真实男女啪啪啪动态图| 国产综合懂色| 国产日韩欧美在线精品| 国产成人精品一,二区| 黄色欧美视频在线观看| 欧美高清成人免费视频www| 欧美日本视频| 日韩,欧美,国产一区二区三区| 亚洲av二区三区四区| 黄色日韩在线| 全区人妻精品视频| av.在线天堂| 国产免费一级a男人的天堂| 男女啪啪激烈高潮av片| 只有这里有精品99| 免费高清在线观看视频在线观看| av网站免费在线观看视频 | 在线观看av片永久免费下载| 日本午夜av视频| 国产一区亚洲一区在线观看| 欧美另类一区| 91在线精品国自产拍蜜月| 一区二区三区乱码不卡18| 午夜精品在线福利| 国产精品一二三区在线看| 亚洲精品一区蜜桃| 国产在线男女| 免费大片黄手机在线观看| 在线天堂最新版资源| 久久热精品热| 男人舔女人下体高潮全视频| 国产精品一及| 久久久国产一区二区| 久久精品久久精品一区二区三区| 能在线免费看毛片的网站| 久久人人爽人人片av| 精品亚洲乱码少妇综合久久| 国产伦精品一区二区三区四那| 九草在线视频观看| 1000部很黄的大片| 国产不卡一卡二| 国产亚洲91精品色在线| 综合色av麻豆| 免费观看无遮挡的男女| 国产老妇伦熟女老妇高清| 又爽又黄无遮挡网站| 日日啪夜夜爽| 国产在线男女| 久久久久久久久久人人人人人人| 欧美激情久久久久久爽电影| .国产精品久久| 精品人妻偷拍中文字幕| 亚洲精品日韩av片在线观看| 美女黄网站色视频| 亚洲av福利一区| 免费看美女性在线毛片视频| 大片免费播放器 马上看| 一夜夜www| 亚洲国产最新在线播放| 精品人妻熟女av久视频| 欧美日韩亚洲高清精品| 免费少妇av软件| 久久久久久久久久成人| 人人妻人人澡人人爽人人夜夜 | 大陆偷拍与自拍| 久久久久久九九精品二区国产| 日本午夜av视频| 爱豆传媒免费全集在线观看| 激情五月婷婷亚洲| 丰满少妇做爰视频| 亚洲av免费高清在线观看| 亚洲国产成人一精品久久久| 国产男女超爽视频在线观看| 国产伦精品一区二区三区视频9| 国产亚洲91精品色在线| 一个人免费在线观看电影| 插阴视频在线观看视频| 麻豆乱淫一区二区| 别揉我奶头 嗯啊视频| 久久久久久久久中文| .国产精品久久| 久久久午夜欧美精品| av免费在线看不卡| 日本av手机在线免费观看| 国产精品一区www在线观看| 99热这里只有精品一区| 色5月婷婷丁香| 国内精品美女久久久久久| 亚洲成人中文字幕在线播放| 夫妻午夜视频| 免费观看的影片在线观看| 一级av片app| 亚洲人成网站在线观看播放| 三级男女做爰猛烈吃奶摸视频| av在线观看视频网站免费| 精品一区二区免费观看| 日本av手机在线免费观看| 免费黄色在线免费观看| 最近最新中文字幕大全电影3| 九草在线视频观看| 最近的中文字幕免费完整| av黄色大香蕉| 黄色一级大片看看| 午夜日本视频在线| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 国产探花在线观看一区二区| 国产毛片a区久久久久| 欧美精品一区二区大全| 久久这里只有精品中国| 欧美性感艳星| 春色校园在线视频观看| 亚洲国产成人一精品久久久| 97超碰精品成人国产| 成人毛片60女人毛片免费| 99久久精品热视频| av在线天堂中文字幕| 麻豆国产97在线/欧美| 亚洲精品久久午夜乱码| 日韩强制内射视频| 国产在视频线精品| 婷婷色av中文字幕| 精品国内亚洲2022精品成人| 国产毛片a区久久久久| av网站免费在线观看视频 | 国产精品爽爽va在线观看网站| 午夜免费激情av| 亚洲精品乱码久久久v下载方式| 中文字幕av在线有码专区| 国产一级毛片七仙女欲春2| 九九久久精品国产亚洲av麻豆| 日本爱情动作片www.在线观看| 最近的中文字幕免费完整| 国产一区有黄有色的免费视频 | 91久久精品电影网| 国产 亚洲一区二区三区 | 一个人免费在线观看电影| 三级毛片av免费| 成年女人在线观看亚洲视频 | 欧美人与善性xxx| 国产永久视频网站| xxx大片免费视频| 插阴视频在线观看视频| 国产91av在线免费观看| 不卡视频在线观看欧美| 欧美日韩在线观看h| 国精品久久久久久国模美| 少妇熟女欧美另类| a级一级毛片免费在线观看| av网站免费在线观看视频 | 91久久精品国产一区二区成人| 晚上一个人看的免费电影| 伊人久久精品亚洲午夜| 国产亚洲5aaaaa淫片| 成人漫画全彩无遮挡| 建设人人有责人人尽责人人享有的 | 国产精品嫩草影院av在线观看| av黄色大香蕉| 精品不卡国产一区二区三区| 一级毛片 在线播放| 午夜免费激情av| 国产亚洲av片在线观看秒播厂 | 亚洲av中文av极速乱| 久久久国产一区二区| 国产片特级美女逼逼视频| 国产淫语在线视频| 国产精品一区二区性色av| 一级毛片 在线播放| 精品久久久精品久久久| 国产亚洲av片在线观看秒播厂 | 91午夜精品亚洲一区二区三区| 国产精品三级大全| 午夜免费激情av| 又爽又黄a免费视频| 国产av码专区亚洲av| 亚洲综合色惰| 久久午夜福利片| 成人综合一区亚洲| 午夜福利网站1000一区二区三区| 国产亚洲91精品色在线| 国产黄色视频一区二区在线观看| 亚洲欧美成人精品一区二区| 精品人妻视频免费看| 久久韩国三级中文字幕| 欧美成人午夜免费资源| 久久久久久九九精品二区国产| 97在线视频观看| 国产黄色视频一区二区在线观看| 国产成人午夜福利电影在线观看| 亚洲自拍偷在线| 卡戴珊不雅视频在线播放| 亚洲天堂国产精品一区在线| 寂寞人妻少妇视频99o| 男女国产视频网站| 91精品国产九色| 欧美不卡视频在线免费观看| 99久久精品热视频| 男人和女人高潮做爰伦理| 国产淫语在线视频| 免费高清在线观看视频在线观看| 久久6这里有精品| 国产综合懂色| 1000部很黄的大片| av一本久久久久| 男人狂女人下面高潮的视频| 欧美不卡视频在线免费观看| 日韩大片免费观看网站| 51国产日韩欧美| 亚洲欧美日韩东京热| 亚洲国产精品专区欧美| 成人av在线播放网站| 久久精品国产亚洲av涩爱| 亚洲欧洲国产日韩| 一本一本综合久久| 尾随美女入室| 久久精品久久久久久噜噜老黄| 午夜福利在线观看吧| 午夜精品一区二区三区免费看| 免费高清在线观看视频在线观看| 久久6这里有精品| 亚洲av免费高清在线观看| 中文字幕人妻熟人妻熟丝袜美| 黄色日韩在线| 亚洲精品日韩av片在线观看| xxx大片免费视频| 777米奇影视久久| 一级片'在线观看视频| 国产成年人精品一区二区| 久久精品久久久久久噜噜老黄| 97超视频在线观看视频| 美女cb高潮喷水在线观看| 真实男女啪啪啪动态图| 久久久久久九九精品二区国产| 嫩草影院新地址| 国产成人精品一,二区| 2021天堂中文幕一二区在线观| 精品久久久久久久末码| 日韩电影二区| 日产精品乱码卡一卡2卡三| 日日摸夜夜添夜夜爱| 日韩电影二区| 97人妻精品一区二区三区麻豆| 精品久久久精品久久久| 一级毛片aaaaaa免费看小| av播播在线观看一区| 春色校园在线视频观看| 久久久久久久久中文| 亚洲欧洲国产日韩| 亚洲国产精品成人久久小说| 国产成人freesex在线| 最近中文字幕2019免费版| 神马国产精品三级电影在线观看| 69人妻影院| 日韩视频在线欧美| 亚洲av成人精品一二三区| 国产91av在线免费观看| 免费看光身美女| 日韩三级伦理在线观看| 国产视频内射| 九九在线视频观看精品| 激情 狠狠 欧美| 色尼玛亚洲综合影院| 边亲边吃奶的免费视频| 一个人观看的视频www高清免费观看| 国产成人a区在线观看| 国产 一区精品| 免费观看的影片在线观看| 久久久久免费精品人妻一区二区| www.色视频.com| 麻豆精品久久久久久蜜桃| 最近中文字幕2019免费版| 成人特级av手机在线观看| 丝瓜视频免费看黄片| 在线观看av片永久免费下载| 国产成人a∨麻豆精品| 中文字幕av在线有码专区| www.色视频.com| 日本黄色片子视频| 欧美xxⅹ黑人| 69人妻影院| a级一级毛片免费在线观看| 日韩伦理黄色片| 午夜激情福利司机影院| 最近中文字幕2019免费版| 欧美性感艳星| 国产探花在线观看一区二区| 国内揄拍国产精品人妻在线| 免费黄色在线免费观看| 国产av码专区亚洲av| 欧美性感艳星| 国产欧美日韩精品一区二区| 91av网一区二区| 51国产日韩欧美| 欧美xxⅹ黑人| 性插视频无遮挡在线免费观看| 中文资源天堂在线| 国产av不卡久久| 国产在视频线在精品| 亚洲国产精品sss在线观看| 乱系列少妇在线播放| 欧美日韩一区二区视频在线观看视频在线 | 好男人在线观看高清免费视频| 精品国产露脸久久av麻豆 | 国产精品熟女久久久久浪| 国产成人freesex在线| 一级毛片电影观看| 国产大屁股一区二区在线视频| 91aial.com中文字幕在线观看| 久99久视频精品免费| 大陆偷拍与自拍| 听说在线观看完整版免费高清| 日韩视频在线欧美| 亚洲av男天堂| 亚洲国产成人一精品久久久| 国产极品天堂在线| 国产精品久久久久久精品电影小说 | 日韩欧美 国产精品| videossex国产| 日韩,欧美,国产一区二区三区| 乱人视频在线观看| 成人欧美大片| 日韩欧美三级三区| 又爽又黄a免费视频| 日韩精品有码人妻一区| 欧美丝袜亚洲另类| 亚洲第一区二区三区不卡| 亚洲高清免费不卡视频| 欧美激情久久久久久爽电影| 国产精品女同一区二区软件| 国产午夜精品一二区理论片| 久久人人爽人人爽人人片va| 欧美成人午夜免费资源| 亚洲国产精品sss在线观看| 三级国产精品片| 亚洲激情五月婷婷啪啪| 在现免费观看毛片| 夫妻性生交免费视频一级片| 成人午夜高清在线视频| 亚洲性久久影院| 搡老乐熟女国产| 少妇的逼水好多| 欧美成人a在线观看| 久久久久国产网址| 青春草亚洲视频在线观看| 亚洲av中文字字幕乱码综合| 国产成年人精品一区二区| 别揉我奶头 嗯啊视频| 日韩伦理黄色片| 国产精品蜜桃在线观看| 街头女战士在线观看网站| 少妇熟女欧美另类| 亚洲精品亚洲一区二区| 人妻少妇偷人精品九色| 寂寞人妻少妇视频99o| 插阴视频在线观看视频| 最近中文字幕2019免费版| 亚洲精品影视一区二区三区av| 国产成人精品福利久久| 美女xxoo啪啪120秒动态图| 久久亚洲国产成人精品v| 成人特级av手机在线观看| 成年女人在线观看亚洲视频 | av免费观看日本| 嘟嘟电影网在线观看| 精品人妻视频免费看| 国产单亲对白刺激| 亚洲欧美一区二区三区黑人 | av在线播放精品| 可以在线观看毛片的网站| eeuss影院久久| 免费黄色在线免费观看| 精品人妻偷拍中文字幕| 日韩 亚洲 欧美在线| 国产永久视频网站| 成人av在线播放网站| 永久免费av网站大全| 麻豆成人午夜福利视频| 亚洲国产高清在线一区二区三| 男插女下体视频免费在线播放| 你懂的网址亚洲精品在线观看| 午夜福利在线观看吧| 在线a可以看的网站| 亚洲精品国产av成人精品| 成年女人看的毛片在线观看| 2021少妇久久久久久久久久久| av在线蜜桃| 能在线免费观看的黄片| 91午夜精品亚洲一区二区三区| 亚洲成人久久爱视频| 日韩人妻高清精品专区| 免费黄色在线免费观看| 国产黄色免费在线视频| 三级毛片av免费| 蜜臀久久99精品久久宅男| 99久国产av精品| 在线观看一区二区三区|