色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

WinForm GDI+ 流程圖繪制:拖動(dòng)即時(shí)刷新與雙緩沖優(yōu)化實(shí)戰(zhàn)

WinForm GDI+ 流程圖繪制:拖動(dòng)即時(shí)刷新與雙緩沖優(yōu)化實(shí)戰(zhàn) 簡(jiǎn)介面向 .NET 桌面開(kāi)發(fā)者的 WinForm 流程圖繪制示例基于 C# 與 GDI 實(shí)現(xiàn)重點(diǎn)解決流程圖形狀在畫(huà)布上的動(dòng)態(tài)拖動(dòng)與即時(shí)刷新問(wèn)題適合需要自建工作流設(shè)計(jì)器、流程編輯工具或想深入理解 GDI 繪圖機(jī)制的初中級(jí)開(kāi)發(fā)者參考。壓縮包共 39 個(gè)文件約 176KB以 cs 源碼、resources 與 resx 資源、config 配置、exe 可執(zhí)行程序及 png 效果圖為主另含 sln 解決方案與 csproj 項(xiàng)目文件可直接用 Visual Studio 打開(kāi)運(yùn)行。資源已有 3214 人學(xué)習(xí)下載具備一定參考基礎(chǔ)。代碼圍繞 Graphics、Pen、SolidBrush 等繪圖類(lèi)展開(kāi)涵蓋自定義形狀類(lèi)與 Draw 繪制方法、MouseDown/MouseMove/MouseUp 拖動(dòng)事件處理、Invalidate 重繪刷新機(jī)制以及形狀與連接線的數(shù)據(jù)結(jié)構(gòu)管理并配有較詳細(xì)注釋便于理解與二次擴(kuò)展。讀者可據(jù)此掌握 GDI 圖形繪制與 WinForm 交互的完整實(shí)現(xiàn)思路并在此基礎(chǔ)上擴(kuò)展更復(fù)雜的流程圖工具。1. 從一張能拖能連的流程圖說(shuō)起這個(gè) WinForm 項(xiàng)目到底能干什么很多人第一次在 WinForm 里畫(huà)流程圖都是從Panel上擺幾個(gè)Button開(kāi)始的結(jié)果一拖動(dòng)就閃爍、一連線就錯(cuò)位、一刷新整塊畫(huà)布重繪最后只能推倒重來(lái)。這個(gè)基于 .NET WinForm 和 GDI 的流程圖繪制項(xiàng)目解決的正是這類(lèi)問(wèn)題節(jié)點(diǎn)可以自由拖動(dòng)拖動(dòng)過(guò)程中連線即時(shí)跟隨刷新畫(huà)布不閃、不糊、不卡頓。它適合兩類(lèi)人一類(lèi)是需要在桌面端工控、審批、拓?fù)渑渲媒缑胬锴度肓鞒叹庉嬆芰Φ拈_(kāi)發(fā)者另一類(lèi)是剛接觸 GDI 雙緩沖、想找一個(gè)能跑起來(lái)、能改得動(dòng)的完整示例來(lái)啃的人。整個(gè)項(xiàng)目不依賴(lài)第三方繪圖庫(kù)純 C# 手寫(xiě)繪制邏輯拿到源碼后改節(jié)點(diǎn)樣式、改連線規(guī)則、加導(dǎo)出功能都有明確的落點(diǎn)。2. 技術(shù)選型與整體架構(gòu)為什么是 WinForm 加 GDI 而不是 WPF2.1 選型邏輯桌面端輕量繪圖的最短路徑這個(gè)項(xiàng)目沒(méi)有用 WPF也沒(méi)有引入任何圖形框架核心原因在于部署成本和上手門(mén)檻。WinForm 在 .NET Framework 環(huán)境下幾乎是零配置啟動(dòng)目標(biāo)機(jī)器上只要有對(duì)應(yīng)運(yùn)行時(shí)就能跑不需要額外的渲染層依賴(lài)。GDI 作為 WinForm 自帶的繪圖接口Graphics對(duì)象直接掛在控件的Paint事件上畫(huà)線、畫(huà)矩形、畫(huà)貝塞爾曲線都是一行調(diào)用的事。代價(jià)也很明確GDI 是即時(shí)模式繪制沒(méi)有場(chǎng)景圖、沒(méi)有命中測(cè)試框架、沒(méi)有自動(dòng)重繪管理。節(jié)點(diǎn)拖動(dòng)時(shí)的刷新、連線的坐標(biāo)換算、鼠標(biāo)命中的判定全部要自己寫(xiě)。這個(gè)項(xiàng)目的價(jià)值就在于把這些“自己寫(xiě)”的部分拆得足夠清楚讓后來(lái)者不用從零推導(dǎo)。從架構(gòu)上看項(xiàng)目大致分成四層職責(zé)邊界比較干凈層次職責(zé)典型類(lèi)型數(shù)據(jù)模型層描述節(jié)點(diǎn)、連線、畫(huà)布的屬性節(jié)點(diǎn)類(lèi)、連線類(lèi)、畫(huà)布狀態(tài)繪制層把模型轉(zhuǎn)成 GDI 繪制指令重寫(xiě)OnPaint的繪制方法交互層鼠標(biāo)按下、移動(dòng)、抬起的命中與狀態(tài)切換鼠標(biāo)事件處理邏輯刷新層雙緩沖與局部重繪控制DoubleBuffered、Invalidate調(diào)用這種分層不是學(xué)院派的架構(gòu)設(shè)計(jì)而是一線寫(xiě) GDI 時(shí)被閃爍和錯(cuò)位逼出來(lái)的組織方式。數(shù)據(jù)模型和繪制分離之后改節(jié)點(diǎn)外觀不用動(dòng)交互邏輯改拖動(dòng)規(guī)則不用碰繪制代碼二次開(kāi)發(fā)時(shí)心里有底。2.2 目錄結(jié)構(gòu)一個(gè)能直接對(duì)照源碼的骨架項(xiàng)目正文沒(méi)有給出完整目錄樹(shù)但按這類(lèi) WinForm 繪圖項(xiàng)目的常見(jiàn)組織方式源碼大致是下面這個(gè)結(jié)構(gòu)。拿到壓縮包后可以按這個(gè)骨架去對(duì)號(hào)入座找不到對(duì)應(yīng)文件時(shí)優(yōu)先在Forms和Controls兩個(gè)目錄里翻FlowChartDemo/ ├── Forms/ │ ├── MainForm.cs 主窗體承載畫(huà)布與工具欄 │ ├── MainForm.Designer.cs 設(shè)計(jì)器生成代碼 │ └── MainForm.resx 窗體資源 ├── Controls/ │ ├── FlowCanvas.cs 畫(huà)布控件重寫(xiě) OnPaint 與鼠標(biāo)事件 │ └── NodeShape.cs 節(jié)點(diǎn)繪制與命中判定 ├── Models/ │ ├── FlowNode.cs 節(jié)點(diǎn)數(shù)據(jù)模型 │ ├── FlowLink.cs 連線數(shù)據(jù)模型 │ └── CanvasState.cs 畫(huà)布狀態(tài)選中項(xiàng)、拖拽偏移等 ├── Utils/ │ └── GraphicsHelper.cs 繪圖輔助方法圓角矩形、箭頭等 └── Program.cs 程序入口這個(gè)結(jié)構(gòu)的關(guān)鍵點(diǎn)在于FlowCanvas和NodeShape的分離。畫(huà)布負(fù)責(zé)整體重繪和事件分發(fā)節(jié)點(diǎn)自己負(fù)責(zé)“我長(zhǎng)什么樣、我的邊界在哪、這個(gè)點(diǎn)算不算點(diǎn)在我身上”。后面講命中測(cè)試時(shí)會(huì)看到這個(gè)分離直接決定了拖動(dòng)邏輯能不能寫(xiě)干凈。2.3 雙緩沖解決閃爍的第一道防線WinForm 里 GDI 繪圖最常見(jiàn)的翻車(chē)就是拖動(dòng)時(shí)整片白閃。原因是每次Invalidate觸發(fā)Paint系統(tǒng)先用背景色刷一遍再畫(huà)內(nèi)容兩次繪制之間被用戶(hù)看到了。項(xiàng)目的做法是在畫(huà)布控件構(gòu)造函數(shù)里打開(kāi)雙緩沖public FlowCanvas() { // 關(guān)鍵開(kāi)啟雙緩沖避免拖動(dòng)時(shí)整片閃爍 this.DoubleBuffered true; // 減少重繪時(shí)的背景擦除配合雙緩沖使用 this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.OptimizedDoubleBuffer, true); this.UpdateStyles(); }DoubleBuffered true是最省事的一行它讓控件先在內(nèi)存位圖上畫(huà)完再整體貼到屏幕。SetStyle那三行是加強(qiáng)版AllPaintingInWmPaint把擦背景的動(dòng)作合并進(jìn)PaintUserPaint聲明自己負(fù)責(zé)繪制OptimizedDoubleBuffer進(jìn)一步優(yōu)化緩沖策略。只寫(xiě)第一行在簡(jiǎn)單場(chǎng)景夠用節(jié)點(diǎn)一多、連線一密還是得把SetStyle補(bǔ)上。這是我在多個(gè)繪圖控件里反復(fù)驗(yàn)證過(guò)的組合少一行都可能在高頻拖動(dòng)時(shí)露出破綻。3. 核心繪制鏈路一個(gè)節(jié)點(diǎn)從數(shù)據(jù)到屏幕的完整過(guò)程3.1 節(jié)點(diǎn)模型先定數(shù)據(jù)再談繪制節(jié)點(diǎn)類(lèi)是整個(gè)項(xiàng)目的地基。它至少要攜帶位置、尺寸、標(biāo)題、選中狀態(tài)這幾項(xiàng)位置用左上角坐標(biāo)尺寸用寬高選中狀態(tài)影響描邊顏色。常見(jiàn)寫(xiě)法如下public class FlowNode { public string Id { get; set; } // 節(jié)點(diǎn)唯一標(biāo)識(shí)連線靠它找端點(diǎn) public string Title { get; set; } // 節(jié)點(diǎn)顯示文字 public Rectangle Bounds { get; set; } // 位置與尺寸繪制和命中都用它 public bool IsSelected { get; set; } // 是否選中決定描邊樣式 // 判斷一個(gè)點(diǎn)是否落在節(jié)點(diǎn)內(nèi)拖動(dòng)和選中都依賴(lài)它 public bool HitTest(Point p) { return Bounds.Contains(p); } }Bounds用Rectangle而不是分開(kāi)存四個(gè) int是因?yàn)?GDI 的DrawRectangle、FillRectangle直接吃這個(gè)類(lèi)型命中測(cè)試也有現(xiàn)成的Contains。Id的存在是為了連線不直接持有節(jié)點(diǎn)對(duì)象引用避免拖動(dòng)時(shí)對(duì)象引用和坐標(biāo)不同步的玄學(xué)問(wèn)題。連線只存兩個(gè)Id繪制時(shí)再去節(jié)點(diǎn)集合里查端點(diǎn)坐標(biāo)這樣節(jié)點(diǎn)移動(dòng)后連線自然跟著走不需要額外的同步邏輯。3.2 繪制入口OnPaint 里該做什么、不該做什么畫(huà)布的重繪入口是重寫(xiě)的OnPaint。這里的原則是只做繪制不做數(shù)據(jù)修改不做耗時(shí)計(jì)算。節(jié)點(diǎn)坐標(biāo)換算、連線端點(diǎn)查找這些準(zhǔn)備工作應(yīng)該在數(shù)據(jù)層完成OnPaint里拿到的應(yīng)該是可以直接畫(huà)的坐標(biāo)。protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Graphics g e.Graphics; // 抗鋸齒圓角和斜線不出現(xiàn)鋸齒邊 g.SmoothingMode SmoothingMode.AntiAlias; // 先畫(huà)連線再畫(huà)節(jié)點(diǎn)保證節(jié)點(diǎn)蓋住連線端點(diǎn) foreach (var link in _links) { DrawLink(g, link); } foreach (var node in _nodes) { DrawNode(g, node); } } private void DrawNode(Graphics g, FlowNode node) { // 選中態(tài)用高亮描邊普通態(tài)用常規(guī)色 using (var pen new Pen(node.IsSelected ? Color.DodgerBlue : Color.Gray, 2)) using (var brush new SolidBrush(Color.WhiteSmoke)) { g.FillRectangle(brush, node.Bounds); g.DrawRectangle(pen, node.Bounds); // 文字居中繪制留出內(nèi)邊距 TextRenderer.DrawText(g, node.Title, this.Font, node.Bounds, Color.Black, TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter); } }繪制順序是先連線后節(jié)點(diǎn)這個(gè)順序不能反。連線如果后畫(huà)端點(diǎn)會(huì)壓在節(jié)點(diǎn)邊框上視覺(jué)上像線穿過(guò)了節(jié)點(diǎn)。SmoothingMode.AntiAlias對(duì)圓角矩形和斜線效果明顯但會(huì)略微增加繪制開(kāi)銷(xiāo)節(jié)點(diǎn)數(shù)量在幾百以?xún)?nèi)可以放心開(kāi)。Pen和Brush都包在using里GDI 對(duì)象不釋放是 WinForm 繪圖里最隱蔽的內(nèi)存泄漏來(lái)源長(zhǎng)時(shí)間拖動(dòng)后界面變卡十有八九是這里漏了。3.3 連線繪制端點(diǎn)坐標(biāo)怎么算才不飄連線的核心是端點(diǎn)坐標(biāo)。項(xiàng)目里連線存的是起點(diǎn)節(jié)點(diǎn)Id和終點(diǎn)節(jié)點(diǎn)Id繪制時(shí)實(shí)時(shí)查節(jié)點(diǎn)中心點(diǎn)private void DrawLink(Graphics g, FlowLink link) { var from _nodes.FirstOrDefault(n n.Id link.FromId); var to _nodes.FirstOrDefault(n n.Id link.ToId); if (from null || to null) return; // 端點(diǎn)缺失直接跳過(guò)防止空引用 // 取兩個(gè)節(jié)點(diǎn)的中心點(diǎn)作為連線端點(diǎn) Point p1 CenterOf(from.Bounds); Point p2 CenterOf(to.Bounds); using (var pen new Pen(Color.SlateGray, 1.5f)) { g.DrawLine(pen, p1, p2); DrawArrow(g, p1, p2); // 在終點(diǎn)畫(huà)箭頭 } } private Point CenterOf(Rectangle r) { return new Point(r.Left r.Width / 2, r.Top r.Height / 2); }用中心點(diǎn)而不是邊框交點(diǎn)是為了避免節(jié)點(diǎn)重疊時(shí)連線端點(diǎn)亂跳。代價(jià)是連線會(huì)從節(jié)點(diǎn)內(nèi)部穿出視覺(jué)上被節(jié)點(diǎn)蓋住一截但因?yàn)橄犬?huà)線后畫(huà)節(jié)點(diǎn)這一截正好被節(jié)點(diǎn)遮住看起來(lái)反而干凈。DrawArrow是獨(dú)立的箭頭繪制方法根據(jù)p1到p2的角度算箭頭兩個(gè)翼的坐標(biāo)這里不展開(kāi)思路是三角函數(shù)加固定翼長(zhǎng)。端點(diǎn)查不到時(shí)直接return這是防御性寫(xiě)法刪除節(jié)點(diǎn)后殘留的連線不會(huì)讓程序崩。4. 拖動(dòng)即時(shí)刷新的實(shí)現(xiàn)鼠標(biāo)狀態(tài)機(jī)與局部重繪4.1 鼠標(biāo)事件的三段式狀態(tài)機(jī)拖動(dòng)邏輯的本質(zhì)是一個(gè)狀態(tài)機(jī)按下時(shí)記錄起點(diǎn)和命中的節(jié)點(diǎn)移動(dòng)時(shí)更新節(jié)點(diǎn)坐標(biāo)并請(qǐng)求重繪抬起時(shí)結(jié)束拖拽。三段式寫(xiě)法如下private FlowNode _draggingNode; // 當(dāng)前被拖動(dòng)的節(jié)點(diǎn) private Point _dragOffset; // 鼠標(biāo)相對(duì)節(jié)點(diǎn)左上角的偏移 protected override void OnMouseDown(MouseEventArgs e) { base.OnMouseDown(e); // 從后往前找后畫(huà)的節(jié)點(diǎn)在上層優(yōu)先命中 for (int i _nodes.Count - 1; i 0; i--) { if (_nodes[i].HitTest(e.Location)) { _draggingNode _nodes[i]; _dragOffset new Point(e.X - _nodes[i].Bounds.Left, e.Y - _nodes[i].Bounds.Top); _nodes[i].IsSelected true; this.Invalidate(); // 選中態(tài)變化請(qǐng)求重繪 return; } } _draggingNode null; // 點(diǎn)空白處取消選中 } protected override void OnMouseMove(MouseEventArgs e) { base.OnMouseMove(e); if (_draggingNode null) return; // 用偏移量算新位置避免節(jié)點(diǎn)左上角跳到鼠標(biāo)位置 int newLeft e.X - _dragOffset.X; int newTop e.Y - _dragOffset.Y; _draggingNode.Bounds new Rectangle(newLeft, newTop, _draggingNode.Bounds.Width, _draggingNode.Bounds.Height); this.Invalidate(); // 坐標(biāo)變了請(qǐng)求重繪 } protected override void OnMouseUp(MouseEventArgs e) { base.OnMouseUp(e); _draggingNode null; // 結(jié)束拖拽 }_dragOffset是拖動(dòng)手感的關(guān)鍵。如果直接把節(jié)點(diǎn)左上角設(shè)成鼠標(biāo)坐標(biāo)節(jié)點(diǎn)會(huì)“跳”到鼠標(biāo)位置拖起來(lái)像在甩東西。記錄偏移后鼠標(biāo)始終保持在節(jié)點(diǎn)內(nèi)的相對(duì)位置手感才對(duì)。命中測(cè)試從后往前遍歷是因?yàn)楹筇砑拥墓?jié)點(diǎn)繪制在上層用戶(hù)點(diǎn)到的應(yīng)該是視覺(jué)上最上面那個(gè)。Invalidate()不帶參數(shù)是整畫(huà)布重繪節(jié)點(diǎn)數(shù)量少時(shí)夠用節(jié)點(diǎn)多了要換成帶Rectangle參數(shù)的局部重繪只刷舊位置和新位置的并集。4.2 局部重繪節(jié)點(diǎn)多了以后必須做的優(yōu)化整畫(huà)布Invalidate在幾十個(gè)節(jié)點(diǎn)時(shí)無(wú)感上百個(gè)節(jié)點(diǎn)高頻拖動(dòng)就會(huì)掉幀。優(yōu)化思路是只重繪受影響區(qū)域// 拖動(dòng)前記錄舊區(qū)域拖動(dòng)后與新區(qū)域合并只刷這一塊 Rectangle oldRect _draggingNode.Bounds; // ... 更新坐標(biāo) ... Rectangle newRect _draggingNode.Bounds; Rectangle invalid Rectangle.Union(oldRect, newRect); // 外擴(kuò)幾個(gè)像素覆蓋描邊和連線端點(diǎn) invalid.Inflate(4, 4); this.Invalidate(invalid);Rectangle.Union取新舊位置的并集Inflate外擴(kuò)是為了把描邊寬度和連線端點(diǎn)也算進(jìn)去否則拖動(dòng)后邊緣會(huì)殘留一條舊線。這個(gè)優(yōu)化不是必須的但節(jié)點(diǎn)數(shù)量上去之后是分水嶺。我一般會(huì)在節(jié)點(diǎn)超過(guò)五十個(gè)時(shí)切到局部重繪再配合雙緩沖拖動(dòng)基本能保持跟手。4.3 刷新時(shí)機(jī)的取舍Invalidate 與 Refresh 的區(qū)別Invalidate是標(biāo)記區(qū)域無(wú)效等消息循環(huán)空閑時(shí)合并重繪Refresh是立即強(qiáng)制重繪。拖動(dòng)過(guò)程中用Invalidate因?yàn)槭髽?biāo)移動(dòng)事件本身很密集合并重繪能減少實(shí)際繪制次數(shù)。只有在需要立刻看到結(jié)果的場(chǎng)景比如點(diǎn)擊按鈕切換視圖才用Refresh。這個(gè)區(qū)別在拖動(dòng)場(chǎng)景里很實(shí)際用Refresh每個(gè)鼠標(biāo)移動(dòng)事件都同步畫(huà)一遍鼠標(biāo)一動(dòng)就卡用Invalidate系統(tǒng)幫你合并流暢度明顯不同。這是 GDI 繪圖里容易被忽略但影響手感的一個(gè)點(diǎn)。5. 避坑與排查拖動(dòng)刷新場(chǎng)景下的五條血淚記錄5.1 現(xiàn)象拖動(dòng)時(shí)整片白閃節(jié)點(diǎn)像在眨眼原因控件沒(méi)開(kāi)雙緩沖每次重繪先擦背景再畫(huà)內(nèi)容兩次繪制之間被看到。解決構(gòu)造函數(shù)里設(shè)DoubleBuffered true再補(bǔ)SetStyle的AllPaintingInWmPaint | UserPaint | OptimizedDoubleBuffer。只設(shè)DoubleBuffered在節(jié)點(diǎn)密集時(shí)仍可能閃兩個(gè)一起上才穩(wěn)。5.2 現(xiàn)象連線端點(diǎn)拖完對(duì)不上線飄在節(jié)點(diǎn)外面原因連線緩存了端點(diǎn)坐標(biāo)節(jié)點(diǎn)移動(dòng)后沒(méi)同步。解決連線只存節(jié)點(diǎn)Id繪制時(shí)實(shí)時(shí)查中心點(diǎn)不要存Point。如果為了性能必須緩存就在節(jié)點(diǎn)坐標(biāo)變更處統(tǒng)一觸發(fā)連線坐標(biāo)重算但實(shí)時(shí)查更不容易出錯(cuò)。5.3 現(xiàn)象拖久了界面越來(lái)越卡內(nèi)存緩慢上漲原因Pen、Brush、Font這些 GDI 對(duì)象在OnPaint里 new 出來(lái)沒(méi)釋放。解決全部包using或者提到字段里復(fù)用。OnPaint每幀都執(zhí)行漏一個(gè)對(duì)象就是每幀泄漏一個(gè)句柄幾分鐘就能看出卡頓。這是 WinForm 繪圖最經(jīng)典的坑沒(méi)有之一。5.4 現(xiàn)象點(diǎn)節(jié)點(diǎn)沒(méi)反應(yīng)或者點(diǎn)到了下面的節(jié)點(diǎn)原因命中測(cè)試遍歷順序和繪制順序不一致。解決繪制按集合順序從前往后命中測(cè)試從后往前保證點(diǎn)到的是視覺(jué)最上層。另外HitTest用Bounds.Contains時(shí)注意坐標(biāo)是控件坐標(biāo)還是屏幕坐標(biāo)混用會(huì)導(dǎo)致偏移。5.5 現(xiàn)象拖動(dòng)時(shí)節(jié)點(diǎn)邊緣殘留舊線像拖影原因局部重繪的區(qū)域沒(méi)覆蓋舊位置或者沒(méi)算描邊寬度。解決新舊區(qū)域取Union后Inflate幾個(gè)像素把描邊和連線端點(diǎn)包進(jìn)去。整畫(huà)布重繪不會(huì)有這個(gè)問(wèn)題一旦切到局部重繪就必須處理。6. 二次開(kāi)發(fā)落點(diǎn)從能跑到能改的幾個(gè)具體切口拿到這個(gè)項(xiàng)目后最值得先動(dòng)的不是界面美化而是把節(jié)點(diǎn)和連線的數(shù)據(jù)模型抽出來(lái)做成可序列化。現(xiàn)在節(jié)點(diǎn)和連線都在內(nèi)存里關(guān)掉程序就沒(méi)了加一個(gè)Save和Load就能讓它從演示變成能用的工具。具體做法是給FlowNode和FlowLink加[Serializable]用BinaryFormatter或JsonSerializer序列化整個(gè)_nodes和_links集合存成文件。注意Rectangle在 JSON 里需要自定義轉(zhuǎn)換用System.Text.Json的話寫(xiě)個(gè)JsonConverterRectangle更省事。第二個(gè)切口是連線規(guī)則?,F(xiàn)在連線是任意兩個(gè)節(jié)點(diǎn)都能連實(shí)際業(yè)務(wù)里往往有方向限制或類(lèi)型限制。在DrawLink之前加一層校驗(yàn)或者在創(chuàng)建連線的入口處判斷FromId和ToId的節(jié)點(diǎn)類(lèi)型不合法就不讓連。這個(gè)改動(dòng)集中在交互層不碰繪制代碼風(fēng)險(xiǎn)低。第三個(gè)切口是節(jié)點(diǎn)樣式。DrawNode里現(xiàn)在是白底灰邊改成圓角矩形只需要把DrawRectangle換成GraphicsPath加AddArc再DrawPath。圓角半徑做成節(jié)點(diǎn)屬性不同節(jié)點(diǎn)可以有不同外觀。這一步改完整個(gè)項(xiàng)目的觀感會(huì)明顯不一樣而且改動(dòng)范圍只在NodeShape里。驗(yàn)證方法很直接改完序列化后畫(huà)三個(gè)節(jié)點(diǎn)連兩條線保存、關(guān)閉、重開(kāi)、加載看坐標(biāo)和連線是否一致改完連線規(guī)則后故意連一個(gè)非法方向看是否被攔住改完圓角后拖動(dòng)節(jié)點(diǎn)看圓角邊緣有沒(méi)有殘影有殘影就說(shuō)明局部重繪的Inflate不夠。我自己的習(xí)慣是每次動(dòng)繪制相關(guān)代碼之前先把節(jié)點(diǎn)數(shù)量調(diào)到兩百個(gè)以上拖一遍記錄幀感和內(nèi)存占用改完再拖一遍對(duì)比。這個(gè)基線測(cè)試花不了幾分鐘但能擋住大部分“改完看著沒(méi)問(wèn)題、一上量就翻車(chē)”的情況。從那以后我每次改 GDI 繪圖邏輯都強(qiáng)制走一遍這個(gè)基線希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
蜜臀va69| 欧插网站| 亚洲国产成人精品久久久国产成人一区二区| 啊啊啊啊啊操我视频| 天干天干天干天天做| 超碰爽人妻熟女Av| 一二三区精品视频| 精品二999| 精品女人999| 超碰在线观看av不卡| 青青青草原| 操操操操网黑人| 人人喜人人妻| 北京专精特新企业招聘信息| www99热| 欧美黄色手机在线观看| 亚洲男人电影天堂| 91久久国产精品| 青青草成人视频在线观看二区| 极品AV网站在线观看| 天天91~综合入口| 自拍偷拍2025在线观看| 国产 日韩 欧美 人妻 熟女 中文| 操逼逼一区视频| 超碰97COm中文| 2026国产精品视频| 青青草字幕AV| 香蕉免费一区二区三区不读| 色娱乐色呦呦夜夜夜夜av| 蜜臀久久99精品久久久老,,| 97在线欧洲| 蜜桃视频一区二区三区在线观看| 黄色高清久久无码依人| 日本不卡码黄色| 香蕉在线一区二区三区| 东北黄色电影| 精品久久久久瑟瑟| 中文字幕精品人妻丝袜| 狠狠躁天天躁日日躁| 91久久精品国产| 亚洲久热| 欧美久久草熟女| 青青草五月天| 91亚洲影视| 色与欲影视天天看综合网| AV色五月天| 亚洲日本天堂| 偷拍 亚洲 欧美| 天天日天天操天天射河南省| 69av一区二区三区| 欧美婷婷五月天| 久操婷婷| 久久成年精品| 天操天操夜操夜月月年年操操| 国产丸一视频| 一二三区精品视频| 一中国女人毛片水真多| 国产久久久久久久久一区二区 | 日本免费专区| hd成人一区二区在线| 久久久久国产精品片区无码直播| 欧美狠狠弄| 欧美中字二区| 2017天天插| 国产h小视频在线观看免费| 视频国产成人精品日本亚洲18| 一级做受视频免费是看美女| 人妻少妇被猛烈进入中| 久久男女激情视频网站| 开心五月婷婷| 青青草啪啪网| 亚洲一二三四区| 在线观看免费视频国产| 日韩精品人妻中文字幕有码午| 日本999精品视频| 道久久五香丁月婷婷激情综合| 蜜桃午夜视频一区二区| 国产强奸乱伦无码视频| 亚洲成人综合在线| 天天看高清麻豆| 97色欧洲| 成年女人一区| 91欧美性| 曰韩中文人妻视频| 国产福利影视| 亚洲色图国产另类| 无码精品久久久久久亚洲| 中文字幕一区二区韩| 激情综合网五月婷婷| 成人色女网| 国产2.3.4区| 国产AAAAAABBBBB| 中国一区二区亚洲人妻| 青女在线| 秋霞Av理论一级在线| 久久直播国产| 99re95| 九色 蝌蚪 熟女自| 国产h片在线观看视频| 亚洲成人综合在线| 午夜久久久| av天堂精品久久| 欧美人妻精品| 黄色片A级一区二区三区| 久久婷五月天| 久久9久| 亚洲欧美中文日韩视频中国语| 嗯嗯啊啊用力视频免费| 精品无码秘 人妻一区二区| 天天躁日日躁XXXXYY| 超碰午夜在线| 精品中文字幕一区二区| av橘色网站| 老司机深夜影院18未满| 久久精品国产精品| 中国一区二区亚洲人妻| 极品AV网站在线观看| 日本性爰一道本| 中文乱码99| 黄片视频观看| 亚洲五区熟女| 91影库| 亚州综合AⅤ| 老熟女乱伦一区| 伊人亚洲国产一成人久久精品,久久| 国产精品高朝久久久久久久| 久久香蕉国产线看观看猫咪av| 亚州熟妇精品| 激情丁香五月婷婷| 五十路三区在线| 久热99| 欲色综合| 激情图片伦理国产一区二区日韩| av毛片aaaaa免费看| 99啪啪视频| 中文字幕黄片在线| 综合欧美日韩在线| 一区操逼日比视频| 久久精品久久久久久久| 99999久久久久9国产精品| 加勒比综合| 蜜臀av中字字幕网站| 国产深夜福利| 国产后入| Julia Annxxxxx| 国产97色在线| 亚洲图片激情综合另类| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 色好看av| 大香蕉免费中文| 国产在线视频午夜精华在| 久久精品72| 萌白酱自拍视频| 丰满人妻一区| 一区黄二区黄| 黄在线| 国产农村妇女毛片精品久久| 97超视频在线观看| 99无码精品| 婷婷久久五月综合激情| 极品AV网站在线观看| 亚洲免费人妻在| a片久久久久久久久久久久| 精品9区| 啪啪啪大香蕉| 欧美性爱十八禁| 亚州男人天堂| 91白虎| 青青草吊丝| 性色av婷婷久久一区二区点复制| 激情天天视频| 天天做天天爱| 人妻无码一区二区三区久久99| 五月丁香综合啪啪| 国产精品无套内谢| 亚洲国产精品成人综合| 亚洲欧洲综合| 蜜臀99久| 91制服丝袜| 99999这里都精品| 一个人在线看的黄色电影网站| 国产 亚洲 丝袜 制服| 欧洲精品一级二级精品综合视频综合| oumeizonghese,www| 久操九九九九| 国产女人高潮视频| 天天摸天天插天天日| 自拍鲍鱼一区在线高清观看免费| 伊人精品久久网站| 另类图片欧美激情综合| 91中文字幕制服丝袜免费视频| 久久一二三四五六七八九区区| 五月天色综合| 色综合色综合网| 特级毛片特黄久久免费看| 97超碰久久| 久久香蕉国产线看观看亚洲女人 | 天天爽天天爽| 久久超碰98| 久久a久久| 色色色综合网| 狠狠综合网| 日本网色| 熟妇熟女视频一区二区三区| 国产欧美美女免费观看视频| 久草久热| 精品久久在线区一区| 一级黄色影片| 丁香五月影院| 欧美在线视频99| 日韩黄色一区二区三区| 日韩性爱小视频在线观看| 不卡av在线中文字幕| 日韩欧美大片免费高清啪啪| 无码外流操逼视频| 777AV电影| 精品亚洲成人免费在线| 中文字幕一区二区三区字幕| 国产精品一级特黄aaa大片在线观看| 少妇啪啪自拍| 无码自拍SM| 久久久无码国精品无码三区三区| 久久久无码国精品无码三区三区| av中文字幕在线熟女| 裸体美女免费看网站青草| 黄色网址久久精品欧美喷水| 香一区二区三区| 欧美性,色九九| 欧美色日本| 超碰视97中文| 天天噜| 免费成人自拍视频在线| 性爱视频免费网址| 日韩乱插| 992这里有精品| 日韩二三区| 超碰97在线色男人??| 99热国产| 国产性爱强奸乱伦大全| 国产九九九九九九九九| 午夜激情床戏激情| 黄色av播放免不| 99999亚洲另类| 啊啊啊啊啊好多水| 尤物网址| 国产亚洲在线观看| 91麻豆一二三区| 精品成人久久久人人亚洲| 97亚洲在线| 欧美日韩国产另类综合| 亚洲AV永久无码一区仙野| 亚州精人品大香蕉| 好湿好紧视频| 在线岛| 亚洲国产激情国产av| 天美国产三级传媒| 久区视频| 综合在线导航一区| 超碰79人人乐| 全国男人天堂网| 亚洲图片色图欧美另类| 99这里有精品视频| 在线五区| 天天激情综合站| 资源在线观一 二| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 九九九免费视频| 国产强上视频在线观看| 四虎视频在线观看| 久久男人天堂| 午夜精品久久久久久久男人的天堂 | 国产精品成人福利在线| 亚洲九九九九| 入口操逼网站| 久久久天美| 26uuu欧美日韩| 色色99| 亚洲清纯唯美| **一级毛片国产| 亚洲天堂日本| 欧美aa一级片| 日日夜夜国产综合| 内射夫妻三片| 性色高清在线| 超碰97人人cao| AV 少妇 人妻 偷拍| 欧洲自拍色图gif在线| 人妻二区| 九九热视频这里只有精品| 中文字幕在线观| 色九九综合| 少妇久久久免费| 亚洲阿v天堂无码z2018| x97av| 狠狠操官网| 欧美亚洲宗合色性图| 天天视频网站黄| 国产性刺激| 亚洲AV无码乱码| 欧美午夜色妇色鬼| 尤物视频一区| 亚洲综合大片| 久久婷婷视频| 蜜臀久久99精品久久久久久无删减 | 免费看欧美美女黄色大片| 伊人视频| 成人网址在线观看| av黄图片在线观看| 欧美色图中文字幕| 福利操逼| 亚洲图片视频小说| 超碰79人人乐| 91精品久久久久五月天精品| 秋霞福利网| 国产高清MV操逼视频| 麻豆天天躁天天揉揉AV| 国产玖玖| 亚洲va有码在线天堂| 久久精品六区| 欧美熟妇视频| 久久久久久69国产一区二区| 激情小说亚洲视频| 97超碰国产亚洲精品资源| 91这里只有精品| 91国产美女丝袜足交精品视频| 久久直播国产| 久久色精品视频在线| 久久国产精品91| 色在线亚洲视频www| 欧美激情一| 免费看毛片操穴| 成年人三级黄色片视频| 青青久草| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 天天综合精品| 日韩综合成人免费视频| 青青草AV色| http://qxhbdz.com| 啊v视频在线观看| 国产精品人妻无码久久久老鸭窝| 综合色久欲| 96AV精品| 欧美啪啪女女| 性爱视频无打码在线观看| 欧美成人精品一区二区男人蜜臀| 天天看片天天爽| 人人操人人摸人人看人人干| 91丨人妻丨国产丨丝袜| 后入式999| 色女99一级片在线观看| 五月天大香蕉| 在线强奷到舒服的无码视频| 色综合国产在线观看| 2019亚洲男人天堂| 欧美毛片在线网| 天天干,天天日| 最新精品久久蜜桃| 天天综合日韩网| 睡产熟女乱伦| 国产精品成人福利在线| 伊人热综合| 97碰久久| 99热婷婷一区二区三| 97久久久精品| 日韩精品大香蕉伊人在线| 欧美熟女少妇| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 色五月综合| 久久久国产成人一区二区三区在线 | 欧美性爱伊人| 亚洲欧洲另类| 中文字幕精品人妻丝袜| 动漫区日韩区欧美区| 少妇人妻精品| 欧美韩日精品99综合| 久久αⅴ| 视频一区二区三区精品| 中文字幕123| 国产激情在线观看| 亚洲色五月| 热天堂一区二区| 日韩美女高潮喷水视频| 精品二区久久| 无码不卡八戒| A片 AV一级在线播放观看免费| 久久精品中文字幕无码l| 午夜免费福利视频一区| 精品91摸| 欧美日韩另类在线| 日韩中文字幕视频在线观看| 97亚洲综合电影| 一区二区 电影 亚洲| 96一区二区三区| 少妇厨房愉情理伦片bd在线观看| 午夜男人一级A片7777| 国产suv精品一区二区四区999| 性色高清在线| 亚洲图片 欧美电影| 成人无码在线视频网站| 欧美亚州手机在线| 青青草国产一区二区三区| 毛片久久| 中文无码一二三区| 九九亚洲| 在线啊啊啊啊| 干少妇视频| 女人爽到高潮潮喷18禁网站 | 99国产精品久久久久久久成人热| 2017大香蕉| 久久综合婷婷| 亚欧美综合网| 黄色污污污污污污网站| 亚洲丝袜综合| 极品丝袜无码| 岛国1区2区3区在线观看| 日韩AV电影网站| 免费视频观看60秒| 亚洲色吧网| 97色97干| 久久精品一区| 日逼视频日本| 加勒比综合a∨| 亚洲成人性| 超碰午夜| 久久99亚洲精品久久99果| 夜夜黄| 久久久久久午夜男人的天堂| 色综合一区二区三区| 熟啊v色欧美热| 另类av天堂| 26uuu久久| 东京热av男人的天堂| 911av网站免费观看| 欧美BT 亚洲色图| 99啪| 黄aaaaaaaaaaaaaaaaaa色网站| 欧美春色| 九久久精品| 999久久久精品国产| 999久久久免费精品国产牛牛| 四虎884a| 中文字幕亚洲欧美在线不卡| 丁香婷婷九月| 亚洲精品一区二区三区在线播放| 中文字幕乱亚洲美女精品一区| 中文幕97| 欧美成人精品一区二区三区| 99热9| 国产白嫩漂亮KTV在线| 蜜臀久久99精品久久久久| 91碰碰| AV在线资源| 九九玖玖精品| 久久综合日韩亚洲欧美| 精品国产嫩穴视频| 大鸡吧尹人在线| 97在线精品| 极品尤物自安慰| 无码区蜜乳| 亚洲AV麻豆Aⅴ无码电影一| 啊啊啊爽爽| 97超级久久| 爱丝福利| 9久久久久| 欧亚无码视频| 91人妻精华帖| 欧美日韩在线国产在线| 国语av最新自产拍在线观看| av无线看| 日本一区二区不卡精品| 91一区二区| 欧美色图天堂在线| 国产乱弄免费在线视频。| 在线97在线| 久久久久密臀视频| 大香蕉78| 特级毛片特黄久久免费看| 亚欧视频在线| 99视频只有精品| 校园春色亚洲欧洲| 99re免费视频精品全部| 久久亚洲AV无码专区国产精品| 久久亚洲AV成人精品无码| 久热无码| 碰超人人在线一区二区三区| 97资源亚洲| 无码高清操逼| 久久久久久久人妻| 狠狠躁天天躁日日躁97| 91九九| 国产精品久久久久久片| 玖玖综合色| 91麻豆天美传媒在线| 国产中文精品一区二区在线观看| 激情五月天视频| 国产盗摄美女如厕大神作品在线观看| 久久久精品九| 熟女人妻一区二区三区| 91精品成人| 大象AV在线| 免费一级视频特黄色大片| 蜜桃视频一区二区三区| 家庭乱伦国产| 淫乱图区| 亚洲砖码砖专无区2023| 综合网久久| 人人妻人人澡人人爽人人精品浪潮| 中文字幕亚洲热播人妻| 97欧美色| 国内毛片无码一级毛片| 热热色中文无码| 开心五月深爱五月| 亚洲一二三四区| 91久久久久免| 精品国产无码中文| 天天躁狠狠躁av| 艹精品| 国产精品电影推荐| 夜夜影视四色| 国产一二三福利视频网| 天天日老熟妇| 亚洲欧综合另类无码一区| 日韩美女高潮喷水视频| 亚洲 欧美 手机在线观看| 激情小说激情视频| 超碰人人乐97| 韩国一级婬片A片无码天美| 亚洲综合码| 男女性感激情网站| 超碰99在线| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 亚洲美女色图| 嗯嗯啊在线视频| 另类小说综合网| 亚州精品人妻一二三区| 亚洲伊人久久精品影院| 后X久久| 人人人摸人人| 国产精品熟女一区二区三区| 中文字幕免费看| 白丝1区2区3区| 亚洲日本韩国在线| 午夜120视频在线观看| 日比av无码| 噜噜噜亚洲精品| 日韩少妇丰满亚洲| 中文字暮97| 超碰91在线| 伊人久久综合影院| 欧美精品宗合| 男人天堂2030| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 欧亚日韩中文在线| 91精品导航| 天天操熟妇| 日日干男人的天堂| 人人操天天爽| 国产一区二区三区不卡手机在线| 97五月天| 久久国产99精品72福利| 婷婷五月激情综合| 久久精品人体| 久久做97| 亚洲淫色网中文| 亚洲美女黄色| 情色图区| 十八禁啪啪视频| 国产毛片片精品天天看视频| 欧美综合91| 久久精品熟妇丰满人妻99| 欧美天天综合网| 国产AAAAAABBBBB| 国产性爱在线视频一区二区| 精品一啪| 久久久久9999妇女| 久久亚洲熟妇在线视频| 99re在线视频国产| 91在线欧美| 思思热影视| 91丨九色丨大屁股| 熟女一区二区| 国产深喉| 久久久久久亚洲Av无码| 精品国产久热在线观看| 亚洲夜色在线| 国产自偷| 色y情视频免费看| 老司机深夜影院18未满| 国产剧情一区在线观看| 校园春色中文字幕AV| 97伊人超碰| 国产在线综合网| 欧美顶级黄色大片免费| 国产精品熟女AV中文字幕在线播放| 香蕉免费一区二区三区不读| 亚洲天天操| 在线欧美69V免费观看视频| 亚洲图片 91| 久热最新在线杭州| 丁香五月激情综合国产| 99re这里| 亚洲av综合色区无码一| 亚洲AV无码久久精品蜜桃小说| 97AV在线观看| 亚洲第一在线视频| 一本一道久久综合久久| 俺去俺来也在线www| 中国的操老妇女| 人人操人人搞人人草| 18岁禁 茉莉成人久久| 在线日韩日本亚洲国产| 91 丝袜在线| 日韩三级伊人| 熟妇人妻一区二区三区| 成人av福利在线观看| 少妇同性| 中文字幕中文字幕一区二区| 日韩不卡码| 国产女生在线| 2010男人的天堂| 久久99热这里只频精品6学生| 天天精品| 久久成人东京热人妻| 蜜乳av一区二区| 啊啊啊97视频| 无码精品一区二区三区潘金莲| 亚洲免费97免费| 一区三区啪啪| 97国产人人| 九九九九日本 | 一区,二区,三区视频| 伊人影院综合是一个与深夜成人在线| 91伊人久久在线| 日韩免费人妻色情网站| 秋霞操逼片| 四虎在线免费视频| 91l欧美在线| 亚洲日韩国产欧美综合v| 蜜臀99久久精品| 六月丁操逼| 夜夜爽77777| 久久精品国产亚洲AV高级北京| 综合欧美亚洲| 免费草草草草草视频| 人人妻人人操人人乐| 人妻99p| 人人摸人人入| 亚欧无码线免费观看视频| 色欲av一区二区三区蜜芽| 欧美偷拍区| 性久久| www国产无码| 香蕉国产97| 91处女在线视频| 男人的天堂在线2| 五月天激情四射| 日韩成人电影AV| 久久男人的天堂国产| 青青草九九九九九| 婷婷成人久久久精品| 国产精品青青草| 婷色五月天| 欧美第一页性| 大香蕉国产中文自拍| 九九玖玖精品| 做爱福利视频一区二区| 一区二区国产视频在线观看| 日韩精品熟妇| 大香蕉性欧美| jizz啪啪| 人人摸人人叼| 99爱久久视频频| 久久久神马影院| 日韩性爱长视频免费| 中文字幕精品一区二区精| 久久99午夜精品一区人妻| 调教熟妇 久久久久久| 久超超碰| 夜夜欧美 | 久久视频,这里只有精品| 人妻熟女一区二区三区视频| 性爱网站一区二区| 国产高潮AA片免费看| 91人妻视频| 偷窥自拍亚洲| 熟妇操花| 欧美黄色大片在线观看| 超碰超碰95| 亚洲se电影| 欧美aa一级片| 97硬碰| 天天色欧美| 精品一区二区亚洲国产| 欧美熟妇亚洲版| 大肥女高潮bbwbbwhd视频| 亚洲av强奸乱伦| 日本孕妇孕交| 婷婷激情五月天小说网| 69精品人人人人| 欧美伊人久久综合网| 刺激性视频黄页| 天堂男人网| 国产欧美美女免费观看视频| 九七超碰人人乐| 亚洲九月丁香| 五十路二区在线| 国产无马视频| 欧美亚洲天堂| 亚洲青青草| 东京热免费视频| 国产精品爽爽v| 日日摸天天爽夜夜欢| 91N五十路| 粉嫩av久久一区二区三区| AV中文字幕剧情1区2区3| 激情专区综合| 久操国产在线| 精品四五区| 国产精品美女久久久久久网站| 久日91在线| 色就色综合| 中文字幕成人乱码熟女精品国50 | www久久国产精品| 欧洲乱码一区二区| 久操免费电影| 久久视网78| 岛国精品视频在线观看| 久久久偷拍| 亚洲天堂资源网| juliaann精品熟女一区| 天天综合网日韩| 美骚妇av高清在线| 国产激情片在线观看| 夜色91| 国产av热热色| 67914亚洲精品| 久草免费福利在线播放| 久久精品操| 日韩在线人妻网站| 在线播放中文字幕| 久久精品国产99精品亚洲蜜... | 久久久久国产| 91超级碰| 午夜男人一级A片7777| 中文字幕97| 久久精品中文| 亚洲91色在线| 色婷婷成人综合| 九九色色| 亚洲 图片 综合91| 99无码视频| 又大又长又粗又爽又黄| 极品色| 少妇精品| 伊人欧美大香蕉视频| 日日夜夜草草草| 色婷婷综合久久中文字幕雪峰| 先锋精品av色鲁| 激情五月婷婷综合| 亚洲天堂热| 欧美精品999| 激情专区综合| 婷婷五月天色| 久久久久久午夜男人的天堂| 高清在线偷拍自拍视频| 色婷婷久久| 日韩紧密久久| 91性感网站| 亚洲精品1区| 久久精品99久久久久久| 日夜尻逼网| 欧洲视频在线| a片久久久久久久久久久久 | 精品人妻一区二区三区在线视频不卡| 久久超碰天天| 三上悠亚在线毛片91| 国产成人拍国产亚洲精品| 日本熟女不卡视频| 强奸乱伦亚洲第一页| 欧美日韩国产色图在线| 亚洲福利中文字幕在线| 久视频在线观看| 久久一本大香蕉 | 神马午夜久久久| 欧美日韩情色一区二区| 久久九操在线观看| 性感美女91影视| 欧美性爱第1 页| 国产AV久久野战精品| 发朗少妇买婬全视频中文| 啊啊啊啊啊啊啊好爽不要| 午夜精品久久久99| 无遮挡男女激烈动态图| www久| 日韩久草| 中国一级特黄大片护士 | 色婷婷成人综合| 夜夜嗨一区二区三区直播内容| 手机在线中文字幕国产| 大香蕉在线视频重口味毛片在线| 欧美色图亚洲色| 久久一区无码| 嗯嗯啊啊操我| 蜜臀亚洲中文| 人人操人人干xxx| 蜜臀精品1区2区| 亚洲av噜噜噜噜噜噜| 一本大道综合伊人精品热热| 免费家庭乱伦视频| 嗯嗯嗯啊啊啊干死我吧| 一级啊性爱在线视频| 99草精| 国产最新AV| 久久国产免费激情视频| 精品999日本| 久久99人妖视频国产| 成人性交午夜免费片| 欧美黑人猛交春色影视大全| 国内偷自视频区视频综合| 经典丝袜一区| 色婷婷电影网| 18禁在线视频| 人妻丰满熟妇av无码区蜜桃| 日本色色网| 久久久久亚洲av综合波多野制衣| 青青草影视蜜久久| 九九成人精品| 综合自拍| 高清国产成人无码| 麻豆久久久久久久久丝袜 | 亚洲天堂五月天国产| 超碰日韩美妻| 丁香五月天激情综合| 成年女人一区| 黄片国产精品一区二区| 91丝袜美女国产| 操操操操网黑人| 天天92av| 久久成人国产| 亚洲日精品| 丝袜天堂网| 北京美女一区二区| 台湾佬激情综合| 国产精品老师| 秋霞影音一区二区三区| 91c色| 翔田千里AⅤHD无码| 日躁天天爽爽| 欧美日韩精品久久久久东北老熟妇| 性欧美体内射精| 亚洲精品色| 国产极品999| 后入 亚洲 美女 射| 2010男人的天堂| 五月婷婷深深爱| 欧洲综合视频| 久久精品72| 你草精品在线视频| 啊啊啊啊在线观看网址| 欧美亚州综合图片| 嫩草 我啊~嗯~在线| 九九av| 超碰97COm中文| 老熟女中文字幕高清| 男人的天堂99| 亚洲自拍97| 黄色片A级一区二区三区| 国产在线综合福利网站| 婷婷中文网| 婷婷91| 一二三啪啪专区| 欧美综合在线91| 亚洲熟女乱色一区二区三区久久久| 色偷偷超碰亚洲| 天天夜夜rb| 国产亚洲日韩欧| www成人啪啪18秘 免费| 大香蕉伊人网WWWn0n| 亚精品无码毛片一区二区三区| 9997se| 家庭乱伦国产精品| 91中文在线| 国产五码丝袜屁眼| 欧美草草高清日韩视频| 国产偷人伦激情在线观看| 久9热| 97碰碰日本乱偷人妻中文的| 97超碰9| 亚洲成a人在线观看久| 大鸡吧尹人在线| 日本色日夜干| 香蕉久久国产AV一区二区| 人妻少妇色综合| 1769成人国产精品视频| 五月天婷婷成人网| 黄色交缠性感爆操91国产精品免费一区二区三区 | 精品国产a∨一区天美传媒| 一区不卡在线观看av| 日韩精品一区二区三区四虎影视| 男人天堂毛片| 亚洲各类熟们中文字幕| 午夜福利在线视频1000| 亚洲日韩精品久久久久一区壹牛 | 99热伊人| 欧美同性恋 的搜索结果 - 91n| 久久久18| 天天干夜夜操一区二区| 国产精品视频| 艾草av| 狠狠热这里都是精品| 丝袜制服字幕在线| 欧美少妇大量自拍视频在线观看| 天天操夜夜操| 亚洲色图久久精品蜜| 日本狠狠干| 蜜桃久久久久久| 色噜噜人妻丝袜a∨先锋影 | 欧美亚洲天堂| 久久久人妻| av绯色| 91熟女视频网| baisiav| www.大香| 麻豆精品一区二区三区四区免费观看| 天堂蜜桃无码视频一区二区| 91色花堂| 美女的肌被草喷水视频| 岛国激情视频在线观看| av草草在线电影| 97国产超湿| 黄视频免费| 嗯嗯啊啊视频一区二区三区| 啊好大好舒服| 婷婷五月成人| 欧美激情亚洲情色| 国产主播福利| 香蕉久久精品| 精品国产人成在线| 欧美日韩亚洲国产中文永久天天看| 一区二区三区机械有限公司| 少妇天堂| 成人草草视频| 熟女一区二区| 999久久久国产精品| 人妻精品免费一二三区| 性爱av在线免费观看| 午夜福利 成人 91| 国产成人网址| 国产白丝av| 亚洲图片欧美91N| 大学生美女口爆| 九九热精品在线| 青椒国产97在线熟女| 国产精品视频内谢女人| 97操97干| 久久九精品| 欧美国产日韩高清在线| 97精品中文字幕| 激情专区综合| 中文字幕精品一区二区精| 亚洲情色一区二区三区| 亚洲影院无码在线| 久久综合女优| 天堂v无码免费视频| 日本九九久久99| 天天天堂影视日韩亚洲91| 欧美综合狠| 亚洲日本大香蕉1| 中文字幕乱妇免费视频| 夜夜精品视频| 一区不卡在线观看av| 欧美一级黄片视频在线| 为用户提供免费看黄网址在线观看| 天天看天天干| 岛国黄色大片网站| 亚洲麻豆精品二区三区| 旡码电影特区| 大香蕉伊然在亚洲91| 9热9热综合网| 亚洲有码第一页| 豆1无夜无码| 2019天天干| 亚洲日韩av专区无码| 呦呦影院| 色五月婷婷在线| 爱爱动态120秒| 欧美 亚洲 大香| 日韩综合色网| 欧州91高潮| 色视频蜜乳| 免费αⅴ在线观看| 一区二区三区精品视频| 天天爽天天| 久久曰曰| 天天干1区2区在线| 97超碰9| 欧洲综合无码| 人妻啊啊人妻啊| 97干天天| 蜜臀99久久精品久久久久| 99精品欧美一区二区三区桃色| 亚洲超碰AV| 一二三四日本视频高清| www.一本大99| 欧美 亚洲 另类 综合| 亚洲熟女人妻中文字幕一区二区| 伊人久久综合影院| 丰满少妇人妻久久久久久| 殴美色网| 美女尤物人人操| 亚洲第91页| 91人妻在线视频| 国产精品久久久三级无码| laoshunv91| 国产精品白丝| 日韩一级二级| 亚欧洲日韩国产精品| 国产网站在线播放| 91老熟女老女人国产老太| 国产60区。| 欧美日综合| 自拍偷拍 日韩无码| 91女日逼| 国产亚洲一黄| 久久精品国产亚洲AV片多多| 六月婷婷五月丁香| 免费超碰97久久| 欧美成人AⅤ大片在线观看| 欧美色道啊| 成人福利视频网| 天天综合站| 日本 欧美 亚中文字幕| 欧美色图电影| 亚洲国产亚洲天堂| 69一区二区三区| 亚洲中文字幕网| 日韩精品三级片长长久久| 1级午夜影院费免区| 精品久久久久久亚洲| 亚洲性天堂| 92福利社视频| 女生看匆91网站| 欧美日综合| 欧美色干| 亚洲天堂 视频你懂的| 中日韩久久久免费看| 97操B| 激情久久av一区av二区av| 国产丝袜高跟美女av免费观看| 国产黄色小视频网站| 亚洲欧洲色情高清| 在线一道啪| 97国产天堂岛| 无码高清专| yazhououmeizongya| 亚洲第2页| 国产在线激情| 欧美十八禁在线看| 怡红院成人视频| 亚洲……91| 91久久青青草原精品| 夜夜高潮夜夜爽高清视频一| 久久久久亚洲熟妇熟女| 亚洲色堂免费视频| 无码外流操逼视频| 加勒比综合a∨| 色噜噜精品一区二区三| 91男人综合| 91人妻人人妻| 免费操逼91| 粉嫩久久久久| 日韩不卡毛片Av免费高清| 日韩人人精品| 久久成人午夜精品影院 | 国产suv精品一区二区四| 亚洲色天| 日韩精品国模| 亚洲 图片 综合91| 热思思免费视频| 天天舔天天日天天射| 色吧综合网| 日韩一级二级三级在线不卡观看完整| 啊啊啊好湿国产一二| 国产精品久久久久久久毛片1| 欧美色图人妻| 禁片 高清 在线观看视频网站| 蜜乳成人AV| 啊啊啊啊好大好硬啊啊啊啊啊| 另类天堂| 欧美亚州综合网图片| 久久综合精品一区二区三区| 人人干人人操人人..com| 蜜屁av| m欧洲一级午老| 色婷婷亚洲婷婷| 97超碰人人模人人拍人人| 欧美日韩97在线| 超碰 另类 欧美| 日本精品无码三级网站| 天美传媒婬乱在| 久湿久久| 97精品国产97久久久久久| 亚洲高清无码在线桃色| 屁股久久久久久久| 精品无码久久久久| www.97在线| 色婷久久| 成人免费视瓶| 亚州综合在线| 蜜桃午夜视频一区二区| 欧美极度丰满熟妇hd| 秋霞成人一级在线观看| 国产女人视频三四五区| AV色五月天| 亚洲男人天堂网久久| 亚洲国产成人精品无码专区| 国产综合久久久麻桃个| 精品亚洲俞拍视频一区| 午夜大香蕉| 国产三区免费在线观看| 精品久久久久久中文字幕三区| 天天影视综合色| 长久操视频| 天天操人人操骚逼网站| 日本三级小说中文字幕| 亚洲成av人片色午夜乱码| 久久毛卡| 黄页网站免费高清在线观看| 野狼福利社区| 国语少妇精| 久久久久久十| 久久久内射良家| 人妻熟妇久草在线| 超碰综合色| 日本精品人妻少妇一区二区| 亚洲人妻一区二区三区| 色色五月婷婷| 亚州操逼网| 婷婷AV一区二区三区| 久久久久久精品免费看A级| 在线观看免费视频国产| 国产日韩久久| 亚洲欧美综合| 国产又黄又爽| 精品人妻一区二区三区视频在线| 新怡红院| 国语精品对白| 久草毛片| 欧中美三级一区二区三区| 男人的天堂kva| 日韩欧美三级| 亚洲欧美国产精品久久久久久久| 人人妻人人色一区二区三区| 9.1小视频| 97超碰国产亚洲精品| 美女爽到高潮91| 色香综合| 欧美 亚洲| 偷拍偷窥与盗摄视频专区| 亚洲成人在线高清|