国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

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

C#毛筆字算法實(shí)現(xiàn):平滑曲線、筆鋒與輪廓生成全解析

C#毛筆字算法實(shí)現(xiàn):平滑曲線、筆鋒與輪廓生成全解析 簡(jiǎn)介面向圖形處理與數(shù)字藝術(shù)開(kāi)發(fā)者的C#毛筆字模擬源碼包聚焦筆鋒算法與平滑算法的工程實(shí)現(xiàn)可直接編譯運(yùn)行。資源內(nèi)包含完整的Visual Studio解決方案共47個(gè)文件以C#源碼文件.cs為核心輔以圖片素材png/jpg、配置文件config/resx及運(yùn)行示例exe整體僅809KB便于快速閱讀與調(diào)試。已有715人學(xué)習(xí)下載適合對(duì)數(shù)字書(shū)法、渲染效果或交互式繪畫(huà)感興趣的中高級(jí)開(kāi)發(fā)者。通過(guò)源碼可深入理解筆觸壓力與角度模擬、筆尖形態(tài)計(jì)算及圖像平滑濾波等關(guān)鍵邏輯為游戲美術(shù)、UI特效或創(chuàng)意工具開(kāi)發(fā)提供可直接借鑒的算法參考。1. 毛筆字算法在 C# 里落地平滑、筆鋒與可編譯工程的關(guān)系把鼠標(biāo)采集到的一串 PointF 直接連成線寫(xiě)出來(lái)的字永遠(yuǎn)不會(huì)像毛筆字問(wèn)題不在畫(huà)線而在筆鋒。真正的毛筆字算法核心是筆鋒算法而不是筆刷貼圖起筆和收筆的錐形輪廓、運(yùn)筆過(guò)程中由速度調(diào)制出的寬窄變化、以及最后交給 C# 渲染層的那條平滑軌跡三件事疊在一起才產(chǎn)生“筆意”。這套可編譯的 C# 源碼常見(jiàn)形態(tài)就是把這三塊拆成能單獨(dú)調(diào)參的模塊底層用 WinForms 的 GraphicsPath 和 FillPath 完成渲染不依賴外部圖像引擎。適合正在做手寫(xiě)批注、電子簽名、美術(shù)字編輯器的人也適合想在 Windows 桌面上快速驗(yàn)證書(shū)寫(xiě)效果的上位機(jī)程序員。下文按平滑、筆鋒、輪廓生成、調(diào)參避坑的順序展開(kāi)最后給出一套驗(yàn)證筆跡的自檢方法。2. 平滑算法選型把鼠標(biāo)軌跡變成連貫曲線的三條路徑2.1 Catmull-Rom 插值最少依賴的平滑方案凡是和手寫(xiě)軌跡打交道的 C# 工程我第一選擇基本是 Catmull-Rom 樣條而不是貝塞爾。原因很直接Catmull-Rom 穿過(guò)所有原始采樣點(diǎn)而貝塞爾曲線不經(jīng)過(guò)控制點(diǎn)。毛筆字的骨架是用戶的真實(shí)運(yùn)筆軌跡任何偏離采樣點(diǎn)的擬合后續(xù)在做筆鋒寬度調(diào)制時(shí)都會(huì)出現(xiàn)“寫(xiě)的是 A渲染成 B”的錯(cuò)位感。public static ListPointF CatmullRomSmooth(ListPointF input, int samplesPerSegment) { var result new ListPointF(input.Count * samplesPerSegment); for (int i 0; i input.Count - 1; i) { var p0 input[Math.Max(i - 1, 0)]; var p1 input[i]; var p2 input[i 1]; var p3 input[Math.Min(i 2, input.Count - 1)]; for (int s 1; s samplesPerSegment; s) { float t s / (float)samplesPerSegment; float t2 t * t; float t3 t2 * t; // Catmull-Rom 的 Cardinal 形式張力參數(shù)固定為 0.5 float x 0.5f * (2f * p1.X (-p0.X p2.X) * t (2f * p0.X - 5f * p1.X 4f * p2.X - p3.X) * t2 (-p0.X 3f * p1.X - 3f * p2.X p3.X) * t3); float y 0.5f * (2f * p1.Y (-p0.Y p2.Y) * t (2f * p0.Y - 5f * p1.Y 4f * p2.Y - p3.Y) * t2 (-p0.Y 3f * p1.Y - 3f * p2.Y p3.Y) * t3); result.Add(new PointF(x, y)); } } result.Add(input[input.Count - 1]); return result; }這段代碼里最關(guān)鍵的是相鄰四個(gè)點(diǎn) p0 到 p3 的選取方式在首尾段用 clamp 復(fù)制端點(diǎn)避免索引越界。samplesPerSegment 表示每?jī)蓚€(gè)原始采樣點(diǎn)之間插入多少個(gè)新點(diǎn)我一般在 6 到 10 之間取值。取 4 時(shí)曲線已經(jīng)比較順但快速轉(zhuǎn)角處會(huì)出現(xiàn)輕微多邊形感取到 16 以上視覺(jué)差距不明顯還會(huì)讓后續(xù)法線寬度計(jì)算的循環(huán)量成倍上漲。對(duì)于實(shí)時(shí)書(shū)寫(xiě)8 是性價(jià)比最好的起點(diǎn)值。2.2 先抽稀再平滑給手抖軌跡做 Douglas-Peucker 預(yù)處理鼠標(biāo) Move 事件在慢速書(shū)寫(xiě)時(shí)會(huì)產(chǎn)生大量噪聲點(diǎn)這些點(diǎn)不全是用戶主動(dòng)運(yùn)筆更多是傳感器抖動(dòng)。直接對(duì)原始點(diǎn)做 Catmull-Rom插值結(jié)果會(huì)忠實(shí)地穿過(guò)每一個(gè)噪聲點(diǎn)筆畫(huà)邊緣會(huì)出現(xiàn)細(xì)小的毛刺而且這些毛刺在筆鋒錐化階段會(huì)被方法線偏移進(jìn)一步放大。我一般會(huì)在平滑之前先做一次抽稀去掉那些偏離主體方向過(guò)遠(yuǎn)的冗余點(diǎn)。Douglas-Peucker 是這里最穩(wěn)的方案它不改變剩余點(diǎn)的原始坐標(biāo)只刪點(diǎn)保留下來(lái)的點(diǎn)仍然在真實(shí)軌跡上。public static ListPointF Simplify(ListPointF pts, float tolerance) { if (pts.Count 3) return pts; float maxDist 0f; int index -1; var start pts[0]; var end pts[pts.Count - 1]; for (int i 1; i pts.Count - 1; i) { float dist PointLineDistance(pts[i], start, end); if (dist maxDist) { maxDist dist; index i; } } if (maxDist tolerance index ! -1) { var left Simplify(pts.GetRange(0, index 1), tolerance); var right Simplify(pts.GetRange(index, pts.Count - index), tolerance); left.RemoveAt(left.Count - 1); left.AddRange(right); return left; } return new ListPointF { start, end }; } private static float PointLineDistance(PointF p, PointF a, PointF b) { float dx b.X - a.X; float dy b.Y - a.Y; if (dx 0 dy 0) return Vector2.Distance(p, a); float t ((p.X - a.X) * dx (p.Y - a.Y) * dy) / (dx * dx dy * dy); t Math.Clamp(t, 0f, 1f); float projX a.X t * dx; float projY a.Y t * dy; return Vector2.Distance(p, new PointF(projX, projY)); }tolerance 是抽稀的強(qiáng)度單位是像素。普通鼠標(biāo)手寫(xiě)我建議從 1.0 開(kāi)始調(diào)數(shù)位板輸入源抖動(dòng)小可以壓到 0.3 到 0.5。注意抽稀和插值的順序不能反過(guò)來(lái)先插值再抽稀噪聲已經(jīng)被插值“洗”成了平滑曲線上的起伏Douglas-Peucker 會(huì)因?yàn)榫嚯x偏差太小而認(rèn)為處處合格等于白做。先抽稀后插值剩下的關(guān)鍵點(diǎn)仍然在軌跡上插值只是加密而不是修正。2.3 為什么不用均值濾波和高階貝塞爾有人會(huì)問(wèn)直接用滑動(dòng)平均值不行嗎均值濾波確實(shí)能壓噪聲但它會(huì)系統(tǒng)性地縮小軌跡曲率半徑寫(xiě)出來(lái)的字整體“瘦”一圈而且筆鋒尖角位置會(huì)被平均成圓角這對(duì)書(shū)法效果是致命的。貝塞爾擬合更適合離線生成美術(shù)字在實(shí)時(shí)手寫(xiě)場(chǎng)景里控制點(diǎn)不落在筆跡上后續(xù)計(jì)算筆鋒方向時(shí)你必須額外維護(hù)一套控制點(diǎn)映射關(guān)系復(fù)雜度不成比例。平滑層做到 Catmull-Rom 加 Douglas-Peucker 已經(jīng)夠用。這組代碼不依賴具體窗體框架把它放進(jìn)一個(gè) GraphicUtils 靜態(tài)類(lèi)里就是一份可以獨(dú)立編譯的 C# 類(lèi)庫(kù)WinForms、WPF 甚至控制臺(tái)輸出位圖都能復(fù)用。3. 筆鋒算法實(shí)現(xiàn)從等寬描邊到毛筆感的兩個(gè)關(guān)鍵步驟3.1 動(dòng)態(tài)寬度用速度和壓力調(diào)制當(dāng)前筆劃粗細(xì)等寬線條是記號(hào)筆寬度隨運(yùn)筆速度變化才是毛筆的第一特征。慢的地方吸墨多、筆畫(huà)粗快的地方筆畫(huà)細(xì)。鼠標(biāo)沒(méi)有壓感事件常見(jiàn)的替代方案是用瞬時(shí)速度反推壓力值再把壓力映射到寬度上。float EstimatePressure(StrokePoint current, StrokePoint previous, float maxSpeed) { float dt Math.Max(current.Timestamp - previous.Timestamp, 0.001f); float speed Vector2.Distance(current.Position, previous.Position) / dt; // 速度越快壓力越小用冪函數(shù)讓中間段變化更自然 float normalized Math.Clamp(speed / maxSpeed, 0f, 1f); return MathF.Pow(1f - normalized, 1.5f); }maxSpeed 的取值需要看輸入設(shè)備。鼠標(biāo)在屏幕上快速劃過(guò)速度能到 3000 像素每秒我一般在 2500 到 3500 之間調(diào)。指數(shù)取 1.5 而不是 1是為了讓中速書(shū)寫(xiě)時(shí)的粗細(xì)變化明顯一點(diǎn)否則大部分筆畫(huà)會(huì)落在“中等寬度”附近缺少棱角。得到 estimatedPressure 之后當(dāng)前點(diǎn)寬度就是float currentWidth baseWidth * (0.35f 0.65f * pressure);0.35 這個(gè)下限是防止寬度歸零導(dǎo)致筆跡斷裂。如果后續(xù)加了筆鋒錐化這里不需要再額外收窄錐化邏輯會(huì)在輪廓層統(tǒng)一處理。3.2 端點(diǎn)錐化讓起筆和收筆變成尖角而不是半圓毛筆字最難的其實(shí)是兩端。直接把 lastWidth 設(shè)為 0輪廓會(huì)在終點(diǎn)處形成一個(gè)突兀的折角視覺(jué)上像被菜刀切了一刀。正確的做法是按“弧長(zhǎng)”做寬度衰減從筆畫(huà)起點(diǎn)到當(dāng)前點(diǎn)走過(guò)的路徑長(zhǎng)度越短寬度越接近 0距離終點(diǎn)越近寬度同樣越小。public static float TaperWidth(float arcLengthFromStart, float totalLength, float taperLen, float width) { // 起筆段0 - 1 float startT MathF.Min(arcLengthFromStart / taperLen, 1f); // 收筆段1 - 0 float endT MathF.Min((totalLength - arcLengthFromStart) / taperLen, 1f); // 取兩者中較小的系數(shù)表示“兩端都要錐化” float taper MathF.Min(startT, endT); // 正弦曲線讓端部更圓潤(rùn)避免線性漸變產(chǎn)生折角 taper MathF.Sin(taper * 0.5f * MathF.PI); return width * taper; }這里最關(guān)鍵的細(xì)節(jié)是必須用弧長(zhǎng)而不是點(diǎn)索引。如果直接拿當(dāng)前點(diǎn)的下標(biāo)做錐化當(dāng)鼠標(biāo)快速掃過(guò)時(shí)端點(diǎn)附近密集的插值點(diǎn)會(huì)讓錐化區(qū)突然變短寫(xiě)出來(lái)的字每一筆的筆鋒長(zhǎng)度都不一樣。用弧長(zhǎng)計(jì)算后無(wú)論采樣點(diǎn)密還是稀筆鋒都固定在 taperLen 這段幾何長(zhǎng)度內(nèi)。taperLen 我通常取 16 到 24 像素寫(xiě)小字時(shí)降到 10 左右寫(xiě)大字可以到 30。3.3 收筆處的定向出鋒讓筆勢(shì)有一個(gè)明確方向毛筆收筆時(shí)不光是寬度變窄還會(huì)順著運(yùn)筆方向帶出一小段“鋒”。這個(gè)效果可以在錐化基礎(chǔ)上再加一段方向延展取最后兩個(gè)軌跡點(diǎn)的方向向量把輪廓終點(diǎn)向該方向再推出幾像素。Vector2 lastDir lastPoint - previousPoint; lastDir.Normalize(); // 出鋒長(zhǎng)度一般取筆鋒長(zhǎng)度的 30%~40% float tailOffset taperLen * 0.35f; PointF tailEnd lastPoint lastDir * tailOffset;然后把錐化輪廓的最后一個(gè)頂點(diǎn)從 lastPoint 替換成 tailEnd。這一小步能讓“撇”“捺”這類(lèi)收筆產(chǎn)生明顯的筆勢(shì)。注意 tailOffset 不要超過(guò) taperLen 的一半否則出鋒會(huì)脫離主體筆畫(huà)看起來(lái)像筆尖斷掉了。我踩過(guò)的坑是把 tailOffset 設(shè)成和 taperLen 等長(zhǎng)結(jié)果寫(xiě)“一”字時(shí)收筆拖出一條細(xì)長(zhǎng)尾巴放大后非常突兀。4. 渲染管線與工程結(jié)構(gòu)把三段代碼拼成可編譯的 C# 程序4.1 數(shù)據(jù)結(jié)構(gòu)StrokePoint、StrokeData 和值元組的使用為了讓源碼可編譯且可維護(hù)我一般會(huì)把數(shù)據(jù)結(jié)構(gòu)和渲染邏輯拆開(kāi)。單個(gè)采樣點(diǎn)用 readonly record struct 保存StrokeData 存放一段完整筆畫(huà)的原始點(diǎn)和平滑結(jié)果。public readonly record struct StrokePoint(PointF Position, float Pressure, float Timestamp); public class StrokeData { public ListStrokePoint RawPoints { get; } new(); public ListPointF SmoothedPoints { get; set; } new(); public float BaseWidth { get; set; } 10f; public float TaperLen { get; set; } 18f; }record struct 是 C# 10 之后的語(yǔ)法用來(lái)做一筆畫(huà)里的點(diǎn)集合很適合復(fù)制成本低撤銷(xiāo)重繪時(shí)不會(huì)誤改歷史數(shù)據(jù)。在計(jì)算邏輯里我偶爾會(huì)用值元組把 Position 和 Pressure 一起解構(gòu)出來(lái)比如var (pos, pressure, _) (p.Position, p.Pressure, p.Timestamp);這樣寫(xiě)的好處是代碼意圖清晰后面做寬度計(jì)算時(shí)不需要反復(fù)訪問(wèn)結(jié)構(gòu)體字段。如果你在舊版 .NET Framework 上編譯把 record struct 換成普通 struct 即可算法部分不受影響。4.2 GraphicsPath 輪廓生成左右輪廓合并成閉合多邊形平滑點(diǎn)和寬度都算好后剩下就是把軌跡“撐”成一塊可以填充的封閉區(qū)域。做法是沿著軌跡逐點(diǎn)計(jì)算法線方向向左右兩側(cè)各偏移半個(gè)當(dāng)前寬度生成左輪廓和右輪廓再把右輪廓反轉(zhuǎn)后拼成一個(gè)閉合多邊形。public static GraphicsPath BuildOutline(StrokeData stroke) { var pts stroke.SmoothedPoints; int n pts.Count; var left new ListPointF(n); var right new ListPointF(n); for (int i 1; i n - 1; i) { Vector2 dir pts[i] - pts[i - 1]; dir.Normalize(); Vector2 normal new Vector2(-dir.Y, dir.X); // 寬度由壓力和端點(diǎn)錐化共同決定 float width GetWidthAt(stroke, i); left.Add(new PointF( pts[i].X normal.X * width, pts[i].Y normal.Y * width)); right.Add(new PointF( pts[i].X - normal.X * width, pts[i].Y - normal.Y * width)); } right.Reverse(); var path new GraphicsPath(); path.AddPolygon(left.Concat(right).ToArray()); return path; }這段代碼里最值得注意的坑是方向向量直接取相鄰點(diǎn)差。如果平滑層做得好方向變化是連續(xù)的如果平滑密度不夠方向會(huì)跳躍輪廓就會(huì)出現(xiàn)擰巴的交叉。所以輪廓生成對(duì)平滑質(zhì)量極其敏感寧可多插值也不要在這一步做額外修正。GetWidthAt 內(nèi)部做的事就是先按速度算出基礎(chǔ)寬度再用 TaperWidth 按弧長(zhǎng)錐化。你可以在這一步把兩種寬度策略合起來(lái)最后效果等于“動(dòng)態(tài)寬度 × 端點(diǎn)錐化”兩個(gè)系數(shù)相乘即可不要做疊加。4.3 實(shí)時(shí)書(shū)寫(xiě)的狀態(tài)管理與雙緩沖刷新實(shí)時(shí)書(shū)寫(xiě)時(shí)我會(huì)把交互抽象成一個(gè)小狀態(tài)機(jī)Down 表示落筆Move 表示運(yùn)筆Up 表示收筆。MouseDown 時(shí) new 一個(gè) StrokeDataMouseMove 時(shí)追加采樣點(diǎn)并即時(shí)重繪MouseUp 時(shí)把這段筆畫(huà)放進(jìn)已完成列表。private readonly ListStrokeData _strokes new(); private StrokeData _current; private bool _drawing; protected override void OnMouseDown(MouseEventArgs e) { _drawing true; _current new StrokeData(); _current.RawPoints.Add(new StrokePoint(e.Location, 1f, Environment.TickCount64)); } protected override void OnMouseMove(MouseEventArgs e) { if (!_drawing) return; float now Environment.TickCount64; var last _current.RawPoints[^1]; float pressure EstimatePressure( new StrokePoint(e.Location, 0f, now), last, 3000f); _current.RawPoints.Add(new StrokePoint(e.Location, pressure, now)); Invalidate(); } protected override void OnMouseUp(MouseEventArgs e) { if (!_drawing) return; _drawing false; _current.RawPoints Simplify(_current.RawPoints, 1f) .Select(p new StrokePoint(p, 1f, 0f)) .ToList(); _current.SmoothedPoints CatmullRomSmooth( _current.RawPoints.Select(p p.Position).ToList(), 8); _strokes.Add(_current); _current null; Invalidate(); }鼠標(biāo)沒(méi)有壓感所以 Move 里的 pressure 全靠速度估算。Environment.TickCount64 返回毫秒計(jì)算速度時(shí)記得除以 1000。重繪時(shí)我建議用 BufferedGraphics 做雙緩沖避免筆跡多時(shí)閃爍protected override void OnPaint(PaintEventArgs e) { var buffer BufferedGraphicsManager.Current.Allocate(e.Graphics, ClientRectangle); var g buffer.Graphics; g.SmoothingMode SmoothingMode.AntiAlias; g.Clear(Color.White); foreach (var stroke in _strokes) { using var path BuildOutline(stroke); using var brush new SolidBrush(Color.Black); g.FillPath(brush, path); } buffer.Render(e.Graphics); buffer.Dispose(); }撤銷(xiāo)功能不要在 Canvas 級(jí)別的位圖上做擦除而是維護(hù)一個(gè) Stack 出棧后全量重繪。這樣撤銷(xiāo)后參數(shù)仍然保留后續(xù)如果想“還原”或者調(diào)整粗細(xì)數(shù)據(jù)還在不會(huì)變成黑匣子。5. 毛筆字算法調(diào)參避坑五個(gè)最容易翻車(chē)的參數(shù)與排查5.1 必調(diào)參數(shù)對(duì)照表參數(shù)建議起始值作用調(diào)大后效果調(diào)小后效果samplesPerSegment8平滑插值密度曲線更圓潤(rùn)計(jì)算量增大轉(zhuǎn)角變生硬simplifyTolerance1.0抽稀強(qiáng)度筆跡更簡(jiǎn)練細(xì)節(jié)丟失噪聲保留多taperLen18筆鋒長(zhǎng)度筆鋒更舒展筆鋒變短促baseWidth10基準(zhǔn)筆畫(huà)寬度整體變粗整體變細(xì)maxSpeed3000速度壓力映射上限粗細(xì)變化遲鈍粗細(xì)變化敏感5.2 筆鋒像被切了一刀現(xiàn)象是每個(gè)筆畫(huà)的起筆和收筆處有一條明顯的直線切口放大到 200% 看就是一個(gè)平頭沒(méi)有弧度。原因是錐化系數(shù)直接用了“剩余點(diǎn)索引 / 總點(diǎn)數(shù)”而不是弧長(zhǎng)比例。當(dāng)插值密度調(diào)整后同一個(gè)筆鋒長(zhǎng)度在慢速段和快速段對(duì)應(yīng)的點(diǎn)數(shù)量不一樣錐化區(qū)長(zhǎng)度跟著采樣率飄視覺(jué)上有時(shí)鈍、有時(shí)尖。解決方法是把 TaperWidth 里的參數(shù)改成 arcLengthFromStart并且在 BuildOutline 之前先算好每段弧長(zhǎng)不要在每個(gè)點(diǎn)臨時(shí)累加。5.3 快速書(shū)寫(xiě)時(shí)筆跡斷斷續(xù)續(xù)現(xiàn)象是快速畫(huà)一條長(zhǎng)線筆畫(huà)中間出現(xiàn)細(xì)小的空白缺口像墨水?dāng)嗔?。原因是鼠?biāo) Move 事件間隔大前后兩個(gè)采樣點(diǎn)之間距離超過(guò)筆畫(huà)寬度輪廓左右偏移后中間出現(xiàn)空洞。常見(jiàn)做法是增加插值段數(shù)同時(shí)把抽稀 tolerance 調(diào)大一點(diǎn)點(diǎn)讓軌跡更干凈。注意不要把 baseWidth 隨便調(diào)大來(lái)蓋缺口那會(huì)讓慢速段變得過(guò)粗整篇字失去粗細(xì)對(duì)比。5.4 大回環(huán)或轉(zhuǎn)彎急處出現(xiàn)自交和填充空洞現(xiàn)象是寫(xiě)“乙”或“乃”這類(lèi)回筆字時(shí)FillPath 填充區(qū)域內(nèi)出現(xiàn)三角形白斑。原因是輪廓點(diǎn)沿著法線向外偏移寬度 w如果當(dāng)前曲率半徑小于 w左右輪廓就會(huì)交叉填充算法無(wú)法判斷哪邊是里、哪邊是外。我在處理這種場(chǎng)景時(shí)會(huì)對(duì)寬度的上限加一個(gè)曲率約束三點(diǎn)外接圓半徑小于兩倍寬度時(shí)把寬度壓到半徑的 0.8 倍。這樣會(huì)輕微損失粗度但不會(huì)破洞。5.5 撤銷(xiāo)后筆跡整體變形或粗細(xì)錯(cuò)位現(xiàn)象是寫(xiě)完幾筆調(diào)整畫(huà)筆粗細(xì)后再撤銷(xiāo)之前的筆畫(huà)也跟著變粗。原因是撤銷(xiāo)棧里只存了 Points 點(diǎn)列表沒(méi)有把 StrokeData 整個(gè)對(duì)象入棧。Width、TaperLen 這些參數(shù)屬于繪制狀態(tài)不隨點(diǎn)數(shù)據(jù)保存重繪時(shí)用了當(dāng)前畫(huà)筆的新參數(shù)歷史筆畫(huà)就被“污染”了。解決方法是 Stack 里直接壓 StrokeData 引用或者至少把 BaseWidth、TaperLen、SmoothedPoints 一起打包成快照再入棧。6. 進(jìn)階壓感模擬、頓筆與驗(yàn)證筆跡的自檢方法如果后續(xù)想做得更像毛筆可以引入頓筆檢測(cè)。頓筆在軌跡上的特征是短時(shí)間內(nèi)速度急速下降但位移很小此時(shí)寬度會(huì)短暫放大。我通常用速度的一階差分來(lái)判斷當(dāng)前速度低于前一段速度的 40%且位移小于 3 像素就認(rèn)為用戶在頓筆把當(dāng)前寬度乘以 1.3。這個(gè)技巧在小字場(chǎng)景里效果很明顯寫(xiě)“橫折”時(shí)轉(zhuǎn)折點(diǎn)會(huì)自然鼓起來(lái)。驗(yàn)證一套筆鋒算法是否合格我一般用三步自檢。第一步是把渲染結(jié)果放大到 400%檢查所有端部是否形成光滑的錐形有沒(méi)有平頭和折角。第二步是分別畫(huà)一條直線、一條慢速曲線、一條快速弧線比較三者的寬度變化是否連續(xù)如果出現(xiàn)忽粗忽細(xì)說(shuō)明速度壓力映射沒(méi)有調(diào)平。第三步是顯示原始采樣點(diǎn)和最終輪廓的疊加視圖確認(rèn)輪廓與采樣點(diǎn)之間沒(méi)有整體偏移這一步能篩掉方向向量計(jì)算錯(cuò)誤和法線方向反了的問(wèn)題。最后提醒一個(gè)我踩過(guò)的坑早期做手寫(xiě)批注控件時(shí)我為了省事直接用最后一小段輪廓做線性收窄結(jié)果每個(gè)字的收尾都像被刀削過(guò)后來(lái)老老實(shí)實(shí)改回弧長(zhǎng)錐化才解決問(wèn)題。這不是玄學(xué)而是筆鋒這件事必須用幾何參數(shù)去算不能靠渲染層碰運(yùn)氣。希望你照著這套思路搭的時(shí)候能少走這一步彎路。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日本2020一区二区| 丁香六月东京热| 日本二三四区| 99久久婷婷| 91爰爱欧美| www.婷婷| 伊人影院综合是一个与深夜成人在线| 午夜呻吟欧美| 婷婷综合伊人一区| 欧美躁死她一区二区| 夜夜骑天天燥| 亚洲制服欧美另类内射| 久草资源在线| 精品人妻一区二区三区-国产精品 一个人在线看的黄色电影网站 | 91操熟女视频 | 婷婷色综合欧美日韩| 超碰人妻久久人妻中文97| 91第一页| 少妇激情一区二区三区视频| 亚洲第一页欧美| 国产后入精品| 国产日韩区| 99re在线观看| 精品射1999| 在免费jIzzjIzz在线视频| 97精| 欧美日韩中文字幕人妻| 伊人天堂在线| 日韩欧美成人性爱在线| 国产精品乱码久久久| 综合天天。| 内射卯月麻衣| 免费黄色A片| 欧美日韩1234| 操逼无码操逼| 亚洲深夜福利| 日本天堂在线播放| 亚洲,欧美,综合网| 九九十八精品| 欧美视频在线第3页| 日本色婷婷| 国产精品成人久久一区二区三区 | 天天综合影院91| 久久亚洲熟妇在线视频| 天天干天天日天天射黄色| 国产精品一区午夜福利| 国产精品分类在线观看| 亚洲开心网| 一起草三级AV电影在线观看| 欧美综合1性辶| 亚洲色婷婷久久久综合日本| 亚洲精品91| 五月天我淫我色av| 第四色色综合91| 伊人久久艹| 99久久无色码| 97超碰国产精品| 久久女婷| 色麻豆AV| 丁香婷婷久久 | 久久有码视频| 性久久| 操比国产| 久久综合18p| 九九久久99| 风间由美日韩欧美久久| 亚洲综合有码| 午夜福利av电影在线| 黑人中出21连凳花野真衣| 最新av在线| 国产又黄又爽| 亚洲精品男人的天堂| 欧美乱妇狂野欧美在线视频| 久久夜精品一区二区三区| 精品无人区麻豆乱码1区2区图片| 997色在线| 性91| 亚欧成人综合影院| 欧美亚洲AN| 在线日韩日本亚洲国产| 岛国在线一区二区三区| 97精品一二区| 综合影院永久入口国产| 日日干日日操五月天伦理视频| 91久久国产综合精品| 黄色大片免费在线| 97色婷| 欧美在线|亚洲| 肉动漫无遮挡h在线观看| 亚洲综合精品国产一区| 91在线丝袜| 激情专区综合| 樱花草社区www中国| av爱爱爱| 人人操超碰在线| 丁香五月天视频| 色眯眯av| 丝袜美腿欧美| 曰韩精品视频一区二区| 国产精品91一样| 欧美九九九| 大香蕉专区| av婷婷色网| 人妻干天天| 狠操91,com| 婷婷综合| AV高清一区| 内射小黄片| 天天干一区二区| 亚洲av综合伊人久久| 亚洲一区制服诱惑| 毛片电影一区二区三区| 91岛国动作片| 我中文字幕6区 | 一级性爱视频免费观看| 操死我干死我| 在线 制服丝袜中出 人妻| 家庭乱伦麻豆| 熟女天天干| 国产精品一区午夜福利| 激情干在线| 91大神精品长腿在线观看网站| 日日噜噜夜夜久久亚洲一区二区 | 国产视频97| 很很很很操| 人妻日日夜夜精品| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 粉嫩小泬久久久一区二区| 亚州情色j区| 久久久婷| 内射小黄片| 欧美天天弄| 亚洲欧洲综合| 国产 日韩,欧美 自拍| 欧美日韩小说| 国产性爱强奸乱伦大全| AV乱伦国产| 久9无限国产| 日本一区二区成人在线| 国产精品一区午夜福利| 新久久AV| 亚洲欧美精品福利在线| 亚洲一区中文精品| 国产操逼视频在线观看| 美女久久久| 人妻丝袜美腿中文字幕| 精品国产乱码| 日本99热| 乱伦图一区| 天美精品av| 欧美天天干| 97超碰久久| 第四色奇米影视777| 亚洲综合另类小说色区亚洲成av人片在www| 屁股久久久久久久久久| 日韩欧美偷拍美女视频| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 人妻丰满熟妇一区二区三| 2017人人操,人人摸| 精品毛片久久久精品毛片| 五月婷婷综合在线| 激情四射五月天| 少妇精品久久| 色五月综合网| 国产91专区| 狠狠操狠狠燥| 91人妻最真实刺激绿帽| 中文字幕精品一区二区精品| 九九玖玖精品| 久久精品28| 淫荡少妇免费| 最新精品久久蜜桃| 最新av网站在线观看| 国产免费一区二区在线A片视频| 97综合国产精品高潮久久| 丁香婷婷激情五月天无毒不卡 | 天天在线91| 日韩精品字幕| 中文字幕片| 亚洲图片欧美色| 亚洲日韩AV视色| 免费网站观看www在线观| 中文在线久久字幕| 青娱乐福利99| 日本不卡码黄色| 九九九九热| av天堂天堂av日韩| 久草精品视频| 另类 日韩 熟女| 狠狠综合网| 欧美九一精品久久久熟妇| 国产无马视频| 婷婷精品国产欧美精品亚洲人人爽| 99久久亚洲精品无码毛片潘甜甜| 中文字幕艹艹| 人人操人人插人www| 欧美激情精品久久久| 欧美少妇性爱网站| 一卡二卡三卡| 欧洲亚洲人妻无码中字久久三区四区| 9色国产精品一区粉嫩| 免费农村成人少妇人妻Aa一区二区视频| 天天综合网在线91| 色香阁在线| 有码专区最新中文字幕有码| 后X久久| 日本一区二区亚洲综合| 亚洲91网| 亚洲大胆人体av| 婷婷久久大香蕉| 久久成人国产精品| 另类欧美色| 神马久久69| 人妻熟女一区在| 国产操伦| 免费精品国偷自产在线在线 | 国产无遮挡| 强奸乱伦AV网址| 天天干人人乐| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 日韩黄片影院| 91少妇人妻| 亚州大图综合色图| 你草精品在线视频| 久久不卡一区二区| 五月天色综合| 婷婷五月花| 96久久精品一二三区色欲| 69av一区二区三区| 欧美日韩另类在线| ji熟女.com| 欧美激情性久久久久久| 亚洲一区深夜| 欧美精品999| 日韩精品在线视频在线观看 | 国产精品白领在线观看| 97综合| 超碰 欧美| 欧美激情 一区| 久久久久96| 欧美一区二区三熟女剧情| 四虎在线免费视频| 五月丁香在线| 精品射1999| 中文字幕日韩精品一区二区三区| 97高清啪啪| 亚洲熟女一区| 亚洲熟妇一,二,三期| 五月丁香黄色网| 国产综合操逼高清| 亚洲最大无码中文字幕网站| 亚洲欧洲另类| 熟女色图在线| 少妇激情一区二区三区视频| 日韩在线视频1234| 78精品| 欧美九9 9 9| 国产精品久久久久久夜夜夜| 999 久久久| 性欧美第一页| 欧美操逼熟女| 999狠狠综合| 男人的天堂2000| 99精品九九九九九九| 日韩综合无码一区久久92| 日本高清免费一本视频在线观看| 一区三区啪啪| 女生久久网| 亚洲情色1区| 欧美午夜视频| 91av熟女人妻| 97 九色| 91精品国| 久久激情亚洲精品无码?V| 91视频国品一二三区| 亚洲自拍欧美色综合| 国产亚洲99久久精品熟| 人妻激情偷乱视频一区二区三区| 东北操逼| 日韩人妻中文视频| 2020中文字幕在线| 免费综合亚洲中文| 久久久久幕乱码| 一区超碰一区| 九九黄色视频在线观看| 天天综合网一91网| 麻豆av一区二区| www.99热| 亚洲av青草久久一区二区| 婷婷五月av| 就去色综合| 99热这里是精品| 人人妻人人澡人人爽人人精品浪潮| aaaa少妇高潮大片| 91久久久久久久久18| 婷婷丁香九月| 另类一区| 日本精品一区二区三区四区的功能| 日韩不卡a级视频专区| 国产丁香精品露脸视频| 色综合色色| 精品对白久久不卡| 国产有码一区| 偷窥自拍A片| 9 1果冻精品视频| 久久久98网站免费视频| 日本1区2区不卡视频| 亚洲综合九| 睡产熟女乱伦| 久久久久久亚洲Av无码精| 中文在线久久字幕| 日本免费中文一区二区三区四区 | 3PAV乱伦视频| 超碰视97中文| 日日干夜夜操视频h| 欧美亚洲另类在线蜜桃| 无码78| 中国的操老妇女| 精品女人999| 日本性爱网址| 74成人在线| 色吧91| 国产精品夜夜夜| 骚逼一区二区| 厕所偷拍在线| 韩国女主播青草福利视频| 人妻日日干| 国产一级不卡在线观看| 午夜人人操| 九九久久久| 亚洲中文sv| 色悠久久久av| 破处bbq| 欧美亚洲厕所精品偷拍91| 天天日天天插| 国产精品呦一区二区三区| 国产成人+综合亚洲+天堂| 十八岁啪啪视频免费看| av天堂天堂av日韩| 欧美日韩国产三级黄色| 国产精品极品美女视频| 亚州免费啪啪视频| 校园春色综合色| 人妻色偷色噜| 高清无码在线播放网站| 欧美一级久久久久久久大片动画| 亚洲成人性| 99re公开精品免费视频| 日韩 欧美 另类 人妻| 国产女人与拘做受视频免费| 美女黄频a美女大全免费皮| 日韩三级天堂在线观看| 久热99| 一区二区三区精品黑丝白丝酒店对鸡 | 午夜婷婷| 成人a大片在线观看| 亚洲欧美在线观看无码| 国产懂色精品国产av| 3p国产欧美99热| 日韩欧美视频青青| 91伊人大香蕉| 伊人宅男大香蕉| 欧美精品三级黄片| 操逼操逼逼操操逼91| 五月婷视频| 啊啊啊好舒服好爽啊啊啊视频| 人人澡人人弄| 蜜臀AV午夜精品久| 太久视频| 日韩成人午夜精品久久高潮| 玖玖无码超碰| 午夜影美女日鸡鸡天天视频国产| 狠狠干婷婷| 亚州中文字幕超碰97| 天天干嫩逼网| 91精品少妇搡搡搡| 少妇特黄一区二区三区| 人妻性爱一区二区| 色哟哟511老熟女| 天天爽天天爽| 亚洲丝袜二区在线| 国产av又色又爽又黄| 欧美一级三级| 美欧色综合| AV无码久久久精品| 色偷综合| 国产自产自拍| 国产久久久久影院老熟女| 亚洲国产91精品一区二区久久| 久久国产视频性吧| 99热一区二区三区四区| 人人透人人操| 国产AV中文| 五月婷婷丁香| 青娱乐妇女性生活| 久久久久密| 97在线观看免费视频| 精品国产嫩穴视频| 色色色日本| 欧美性爱一区二区三区四区| 日本人妻丰满熟妇久久久久久| 九九天堂| 乳欲人妻办公室奶水| 人妻无码视频一区二区三区久久| 色黄色美女大长腿午夜视频| 99精品综合久久久久五月天| 超碰国产在线| 99这里只有精品国产| 77国产精品| 99热综合| 国产在线视频二区| 91美女精品| 观看视频图片一区二区三区| 国语精品内射在线观看| 在线天堂资源亚洲| 久久久久网站-538在线视频-欧美永久乱码| 天天草天天日| 综合色区偷拍| 97精品久久久久中文字幕| 日韩一级久久毛片| 天天射天天操天天干天天吃2018| 青娱乐休闲视频在线观看| 欧美亚洲丝袜美女电影| 欧美综合区| av一区二区三区四区| 久久超碰天天| 久久视频少妇美女| 久久嫩草国产成人一区| 国产精品久久伊人| 欧美操逼熟女| 色波多| 欧美色图20P| 女上位精品在线| 国产a级精品| 国产在线76页| 69人妻精品一区二区绯色| 日韩乱中文 | 麻豆这里只有精品| 屁屁影院一区二区三区国产| 久久久亚洲Av| ,成人免费啪啪视频| 精品九九九| 久久久久久久91| 亚洲天堂资源网| 日韩9区| 羞涩视频| 另类亚洲一区二区三区| 日本免费一级AAA大片器| 精品人妻一二三| 91久久久亚洲| 看日韩操逼| 国产亚洲精品农村妇女| 影视综合无码少妇| 国产三级日产三级韩国三级| 欧美一级黄色18片免费看| 久久美女福利是上海美女| 国产精品自在自拍视频| 亚洲激情网一二三四区| 欧美日韩黄色片一区二区三区四区人与兽做爱 | 久草免费福利在线播放| 亚洲成A∨人影院在线欢看| 亚洲夜夜欢无码一区二区| 久久侵犯人妻爽爽爽| 亚洲久9| 黄色av播放免不| 91天天综合日韩欧美| 台湾一区国产高清在线| 国产欧美岛国精品一区| 欧美日韩夜夜| 色天欧美| 91看黄片| 九九热视频在线观看| 99xav| 人人妻人人爽| 欧美日韩岛国大片在线观看| 嗯嗯啊啊用力视频免费| 四虎影视国产精品| 操迟操逼在巾线Fre看| AA丁香综合激情| 亚洲男人的天堂在线看| A级国产欧美激情在线| 麻豆啪啪啪视频| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 韩日无码在线观看| 综合激情97 | 神马久久久久久伦理片| 亚洲天堂另类美腿| 精品对白久久不卡| www.婷婷六月天| 亚洲风情综合网| 亚洲免费人妻在| 不卡一区视频| 午夜超爽| 久久综合超碰| 免费簧片在线观看| 精品无人区麻豆乱码1区2区图片| 国产精品色片一区二区| 91欧美巨乳| 国产真实野战在线视频| 伊人9| 中文字幕性感少妇av| 亚洲情色综合网| 91欧美丨精品丨入口| 国产成人 综合亚洲 天堂| 2017天天插| 人人插人人摸人人| 99精品九九九九九九| 国产亚洲国产超碰| 亚洲黄色AV电影| 熟妇最新先锋一二三区| 91香蕉视频在线观看免费| 东京热熟女亚洲视频网站| 成人5码视频| 亚洲资源站| 欧洲亚洲人妻无码中字久久三区四区| 亚洲欧美综合区自拍另类| B049AV在线播放| 久久久久婷婷| 亚洲欧美精品国产一区二区| 91九久| 在线综合色| 水滴偷拍| 欧美激情黑人| 欧美精品91| 在线播放成人网站| 五月天激情综合网| 五月天婷婷在线看| 亚洲乱妇p22| 91AV天美在线视频| 亚洲情色婷婷五月天| 国产AV久久野战精品| 国产一级内射高清视频| 少妇久久久免费| 欧美色图私拍91| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 中国国国产一级特黄毛片| 日韩三级伊人| 亚洲天堂男人天堂网| 97超视频在线观看| 亚洲中文电影| 天天综合有色网| 中文字幕在线24| 伊人久久大香大香线蕉中文| 三级特黄60分钟播放| 国产又黄又爽又刺激久久久久久| 97操| 亚洲成人在线高清| 眼镜人妻101.com| 欧美黄色手机在线观看| 在线 亚洲 网爆 自拍| 中 文字幕一区二区三四 五 区日 日 骚| 久久精品免费| 国产丝袜视频| 夜夜操天| 情侣操 逼视频99| 粉嫩AV一区夜夜嗨| 天天综合站| 亚洲欧美激情小说| 日韩精品亚洲一二三| 综合亚洲网| 日韩综合色图| 国产乱伦亚洲色图高清无码| 欧美爱三级日韩久久| 91香蕉视频在线观看免费| 乱论91| 色婷婷99| 久久只有精品一区二区三区| 日韩无码久久熟女一级片| 国产91丝袜 在线播放| 欧美精品三区| 国产极品99热在线播放69| 操人91| 色av中文字幕| 色欲av国内精品久久久久久| 欧美激情另类一区二区| 色婷婷av在线观看| 欧美日韩青操| 中文一区二区三区影院| 日本一区二区不卡精品| 九九热免费国产视频婷婷伊人| 国产熟女二区| 精品无码久久久久久久杏吧| 久久精品亚洲成a人天堂| 美腿色图| 亚洲欧美999| 婷婷综合五月| 国产AB视频| 曰本人妻人人澡人人夹| 综合国产97| 97在线免费| 99操| 欧美少妇人妻| 蜜臀av一区二区三区免费观看| 亚洲欧洲激情| 欧美系列在线一区二区| 天天热精品| 欧美另类综合久久| 91五月天| caoni国产亚洲av| 性爱AV天堂| 天天摸夜夜添无码小视频| 超碰97综合在线| 亚洲欧美电影| 欧美美女视频| 国产999精品久久久久久| 久久久久久免费电影| 欧美专区日本专区| 热热色青青草| 丁香五月天婷婷姐| 国产亚洲日韩欧| 97自拍一区| 日韩在线一区高清在线| 97超碰免费生活| 亚洲各类熟们中文字幕| 一起草视频在线| 神马午夜久久久| 午夜偷拍久久熟女| 男人天堂东京热| 熟妇亚洲一区二区三区| 欧美在线啊啊| 成人在线视频一区| 青娱乐亚洲自拍| 91久久堂| AVE乱伦| 99色在线视频| 免费99精品国产自在在线| 强被迫伦姧在线观看无码网站| 婷婷亚洲综合| 偷拍片久久| av强奸乱轮| 激情文学 国产一二三aV| 国产一区在线看| 日韩精品在线观看网站| 国产在线精品电影观看| 中文字幕天堂在线| 国产刺激视频| 999热日韩精品| 内射夫妻三片| 国产精品制服丝袜中文字幕日韩一区二区三区 | 大香蕉色欲AV| 91社操逼| 天堂亚洲精品久久老牛| 日韩综合无码色欲vv| 欧美日韩免费专区在线| 日韩电影在线观看网址| 欧美熟妇视频 | 天天肏美女| 91狠狠综| 97色色色综合网站| 思思视频免费看网站| 蜜臀精品1区2区| 欧美色www亚洲国产阿娇要播| 久久色人体 | 久热伊人| 日少妇视频| 水澄无码AV| 啪啪啪综合网| 精久久久91| 人人 操人人 操人人| 蜜桃久久久久久久久久久久| 91人妻素女| 夜夜嗨一区| 天天干天天插| 尤物av网站免费在线播放| 欧美色图片91| 日韩av不卡在线看| 久久久久久99999国产精品| 综合一区中亚洲国产成人综合精品 | 另类老少妇| 深爱激情五月天| 超碰成人人人爽人人爽| 伊人精品视频| 欧美一级黄片免费播放| 色五月av| 综合网久久| 人人看人人摸人人色| 91精品导航| 九九热视频这里只有精品| 天天干人人干天天日97| 国内精品99999| 用力操死我| 乱伦一二三区| 综合av影片| 激情六月婷婷| 18啪啪手机免费性爱| 福利天天都操| 97精品视频免费| 最新日韩黄片| 成人免费性爱视视| 亚洲日韩狠狠撸视频| 天天操女人| 1禁看欧美黄片免费看| 色臀av| 啊啊啊啊好大好硬啊啊啊啊啊 | 清纯唯美亚洲综合| 成人欧美日超碰| 中文字幕黑人大片| 成年人一级黄色毛片大全在线观看| 亚洲一区二区AV| 久久久久国产| www.操| 日韩成人免费电影| 在线A日本| 沈阳熟女高潮对白视频| 日1区2区3区2020| 天天影视射综合网| 夫妻四区五区六区| 亚洲九九夜夜| 太久视频| 亚洲 欧美 偷拍 唯美| 男人天堂东京热| 91色人| 综合久久99亚洲人妻中文在线| 九九视品黄色| 欧美激情综合色综合啪啪五月| 久久激情亚洲精品无码?V| 在线日韩精品一区二区三区| 久久精品国产亚洲粉嫩| 久久9999 | 亚洲一区中文精品| 天天插天天操| 精品成人动漫一区二区| 亚洲熟伦熟妇AV无码春色| 99re欧美| 欧美亚洲首页| 日日97| 综合网亚洲1| 碰人碰碰人人开房人肉| 97超碰免费人人性爱| 嗯嗯啊啊啊好舒服| 久久久久久久久久久97| 九九九九九九九精品视频| 色色色99| 日韩三级视频一区二区三区| 中文字幕一区日韩精| 日本一级性爱| 五月丁香色色网| 超碰在线国产| 欧美精品第3页| 精品 码产区一区二-1080P高清在线www-B029AV | 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 熟妇熟女亚洲天堂网| 丁香九月激情| 亚洲天堂,男人| 欧美嫩性色| 99热超碰| 亚洲AO在线| 色大师网站www永久网站视频| 免費人妻夜夜爽天天爽爽一区| 久久久久久大| 九草在线大香蕉| 国产第二页| 91热色| 久久久久成人网| 少妇久久久久| 亚洲精品国产日韩无码AV永久免 | 一区| 中文字幕午夜精品久久久| 日韩精品资源| 大香蕉欧美| 一级@啪啪视频| 日本人人操人人操| 婷婷色导航| 激情图片伦理国产一区二区日韩| 九热大香蕉| 久超碰这里只有精品| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 91青青在线| 色99999| 精品国产一区二区三区香蕉欧美| 国产激情在线| 翘臀vidoes| 久草草一二三四区久久| 日本2020一区二区| 欧美一级在线观看成人| 色黄色美女大长腿午夜视频| 亚洲av无码成人精品国产| 超91综合网| 偷拍色图| 久久久久久九九九| 一本一道波多野毛片中文在线| 蜜乳av首页| 乱理日韩中文| 嗯嗯啊啊啊好爽| 人人看人人插| 五月丁香婷婷综合| 1二区9| 美欧色综合| 精品亚洲黄色片 国产精品导航一区二区| 久久美女福利是上海美女| 午夜呻吟欧美| 国产精品日日摸天天碰| 国产一区二区三三视频| 六月丁香网| 亚洲色图综合网| 91熟女视频| 亚洲日韩精品在线播放| 久久国产精品,久久国产| 伊人宅男大香蕉| 日本不卡高清视频| 亚洲中文字幕妇伦久久| 偷窥自拍亚洲| 激情小说成人日本无码一| 欧美亚洲激情小说| 欧美日韩中文字幕不卡| 国产 热久久久久国产精品| 久久久999网站| 欧美亚州综合网图片| 亚洲av影音先锋| 精品小视频在线| 黄片www视频免费| 色婷婷久久| 本道在线| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 日韩精品中文字幕二区| 日本新免费二区三区| 久久超碰国产一区二区三区| 天天91~综合入口| 国产精品农村妇女精品| 在线v中文字幕一区二区三区| 久久 亚洲 日韩 人妻| 青娱乐休闲视频在线观看| 91校园春色长篇| 欧美同性恋 的搜索结果 - 91n| 欧美日韩精品一区二区三区高清| 国产AV天美| 久久双插| 国产美女91视频| 91av熟女人妻| 大香蕉天天看妹子| 亚洲av噜噜噜噜噜噜| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 日韩精品午夜操呦呦不卡影院| 大香网站| 熟女高潮精品一区二区| 国产成人精品日本视频| 啊啊啊啊啊舒服| 女同性恋久久| 亚洲校园激情| 五月天激情网站| 亚洲在线91| 性色avv| 综合久久久久久久久91| 人妻社区男人天堂| www.99中文字幕| 天天综合网~91入口| 东北丰满熟女国产一区| 五月天亚洲网| 久久女婷| 亚洲天天综合| 日韩av色图综合| 国产精品呦一区二区三区| 欧美亚州色的图| 日本精品一区二区中文字幕| 啊啊啊骚| 日本不卡码黄色| 人妻一区视频| 亚洲欧美内射| 亚洲综合春色| 成人一道本免费视频| 精品九九九九九九九九九| 日韩性爱视频免费在线 | 天无日色综合| 天天激情综合站| 色综合1991| 中文字幕五区| 2018天天干在线视频| 99re在线视频| 久久超碰爱| 黄色视频60分钟| 欧美第五页| 99久久com免费视频′| 亚洲国产一区二区日韩专区| 亚洲偷91色| 日韩欧美女优电影| 操逼大黄片| 国产免费内射视频| 国产精品久久久久久久久久久久久久久久久久 | 五月综合色| 久热影视| 亚洲精品国产拍免费91在线| 熟妇亚洲一区二区三区| 特级丰满少妇一级AAAA爱毛片| 91性片| 超碰97首页| 人妻激情另类| 久久久久久国产无码精品| 清纯唯美激情| 欧美 亚洲 另类 综合| 99啪啪| 97人妻免费中文字幕| 97亚洲精品| 亚洲欧美视| 四虎AV影视国产精品亚洲精品| 日本理论在线| 脫衣舞一区二区三区| 欧美性夜| 久久宗合97| 夜夜福利| 亚洲色图久久成人| 亚洲九区| 色久桃花影院在线观看| 思思热在线视频在线| 欲综合网| 天天天堂影视日韩亚洲91| 欧美日韩资源在线| 开心激情站| 久久性爱城| 黄在线| 八戒午夜福利理论片| 久久岛国| 操熟女91| 日韩人人精品| 精品一区二区三区四区外站 | 97资源久久| 精品视频一区二区| 日韩精品系列| 好看的久久不射无码影视影院| 久久9 9 9精品| 91久热| 综合久久中文字幕综合日韩精品| 久草视频在线视频在线视频在线观看 | 婷婷中文网| 国产免a费看黄片在线| 看免费一级在线播放毛片| 91亚州| 精…码一二三区| 97视频免费| 欧美亚洲特P| 日韩一卡二卡三卡| 精品美女少妇一区二区| 毛片99-全集电影手机免费观看完整-B029AV | 蜜桃午夜视频一区二区 | 日韩性爱播放| 全球成人中文在线| 久久99人妖视频国产| av无码精品久久久久| 永久免费发布性爱网| 啊啊好多水| 国产精品久久久蜜臀| 欧美日本久久精品一区 | 国产精品女aA片爽爽视频| 天天92av| 东京热一区二区中文字幕| 伊人国产成人av网站| 12一15性XXXX粉嫩国产| 在线播放成人高清免费视频| 九九九精品成人免费视频小说| 久久超碰国产一区二区三区| 日日干天天干夜夜爽| 丰满美女一级毛片在线播放| 不卡av在线中文字幕| 亚洲精品无码成人久久久99| 国产真实野战在线视频| 两性综合网| 欧美九9 9 9| 狠狠躁AV| 都市激情人妻一区二区青青操视频| 中文字幕AV片| 漂亮人妻被强中文字幕hd| 综合 亚洲 欧美| 亚洲97成人在线观看| 国产一区在线观看无码AV | 伊人欧美大香蕉视频| 麻豆成人影音在线| yaouchengrenav| 日本国产高清色www视频在线| 国产精品视频白浆免费| 男人的天堂不卡一区二区| 熟女啪啪视频| 国产精品久久久久久久免牛肉蒲团| 嗯~啊~快点 死我视频免费看网站| 99精品无码| 白嫩少妇| 亚洲AV噜噜狠狠网址蜜桃动漫| 色色五月丁香| 超碰碰97| 校园春色 亚洲| 国产精品一区二区a| 色久桃花影院在线观看| 亚洲成人碰碰| 91成人久久| 久久久蜜桃臀无码视频| 日本免费中文字幕在线| 色婷五月天| 9久精品视频在线观看| 久久久久久十| 天天搞在线综合网| 夜夜嗨一区二区| 97网址97| 97操| 婷婷色中文字幕| 欧美A√综合网 | 人人操人人搞人人草| 色五月大香蕉| 在线观看 99热| 加勒比综合| 久久免费精品视频免一| 9久久9综合| 亚洲欧美在线丝袜| 成人精品一区二区91毛片不卡| 国产后入精品| 加勒比久久av| 国产高清精品一区二区三区毛片| 99视频内射三四| 九九九精品色乱九九九| 极品销魂美女一区二区 | 国产精品2020| 干B网| 亚洲超碰AV| 日韩精品怡红院| 亚洲巨爆乳一区二区三区四季网| 色色色五月婷婷| 欧美中字不卡| 久久久久免费看少妇A片特黄| 久久天天摸| 少妇的嫩逼图片| 日韩黄色成人性爱| 日产123区精品免费观看| 岛国片在线视频网站| 九九视品黄色| 亚洲丝袜综合| 长长久久免费视频| 日本一二三免费久久| 把腿张开老子CAO烂你| 亚洲精品 欧美精品| 成人97人人超碰人人| 蜜臀亚洲中文| 水多多映视AV| 任我爽视频在线观看| 97免费在线视频| 91 在线亚洲| 欧美综合91| 四虎影库国产精品免费| 男人天堂欧美| 日本久操视频| yiqicaoav| 久久久久久性爱视频| 欧美日韩大香蕉| 青青草在线成人视频| 东京热一区二区中文字幕| 国产精品一区人妻精品阁在线| 91熟女在线| 亚洲av在线免费观看| 日本一区不卡| 国产免费大片| 黄色大片免费在线| 精品网站99999| 太久视频| 99精品无码| 人妻嗯啊啊在线播放| 亚洲全色网| 欧美日韩人人精品| 中日亚韩免费视频| 夜夜青青无码影院| 激情色色| 97在线视频观看| 91网站18在线| www黄片免费看com| 成人无码欧美一级A片狼牙直播| 激情五月天婷婷| 小说区 图片区色 综合区| 超碰碰97| 久久亚洲AV成人精品无码| 欧美日韩不卡传媒| 乱人伦 国语对白:视频直接看| 人妻色偷色噜| 亚洲国内精品成人不卡| 抽插无码高清一区| 91五十路| 国产久久一区二区| 日本片日本片祼观看网站在线看中文版网页在线看 | 大鸡巴久久| 不卡码视频| 久久精品中文字幕无码l| 97中文字幕九区| 99999精品成人| 人人操人人大香蕉| 亚洲国产综合图区中文字幕 | 日日操丁香五月天| 超碰97男女| 99操| 激情网五月天| 亚洲激情综合另类男同| 99久在线精品99re8蜜桃| 美女淫穴| 99精品久久| 成人麻豆av电影网站| 97超碰精品图片| 亚爽爽爽爽爽爽爽爽| 97色色婷婷| 日韩综合无码色欲vv| 极品少妇久久久| 高清肉丝中文无码| 狠狠久久四虎| 日韩激情啪啪| 中文字幕乱码人妻二区三区| 91丝袜人妻| 日本精品中文字幕视频| 久热伊人| 超碰97久久国| 日韩一区二区熟女| 久99视频| 顶级丝袜熟女一区二区三区| 亚洲AV无码乱码| 噜噜噜噜天天狠狠| 足交视频老司机| 婷婷伊人一区| 五月天综合| 日韩性爱电影一区| 一二三四视频中文字幕在线看| 精品欧美乱码久| 日韩欧美天堂| 国产av热热色| 夜夜爽妓女| 亚洲国男人的天堂| 日韩精品视频在线观看一卡二卡| 少妇一级婬片免费放一级a性色.| 97在线视频免费| 天美传媒精品久久视频| 五月开心久久AV官网| 中美日韩毛片| 国产乱婷婷精品二区三区| 九九Av| 婷婷久月| 天天躁日日躁AAAXX| 亚洲第一精品在线视频| 男女做爰猛烈动高潮A片免费应用| 91亚洲影视| 天天舔日美女视频| 欧美日韩不卡传媒| 看看日B真人视频| 欧美一区二区三区黄色影视| 久久久久久中文版| 午夜精品久久久99| 久久久久久久久九九久孕交| 在线啊啊啊啊| 精品人妻二区三区| 夜夜狼人妻| 800zy一区二区| 免费看污网站| 欧洲Au麻豆| 欧美 传媒 麻豆 日韩 偷拍| 国产美女mm131爽爽爽爽| 小草三级久久观看| 无码免费一区二区三区啪啪| 五月激情小说| 日韩乱码av| 久久久久日本视| 在线人妻熟女一区二区三区四区五区| 懂色综合久久久| 69AV女优男人的天堂| 男人的天堂2018.| 91国产大片| 久久久九九九九| 久艹99| 限制级中的三级片中的黑粗大屌屌日人妻熟女| 欧美天天在线| 无马一区二区| 日本影视久久免费|