⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 如何在vb中画出圆滑的曲线.txt

📁 以电子书的形式收集了VB一些常见问题解决方法,可以很方便的查找自己需要解决的问题.对一些VB初学者很用.
💻 TXT
字号:
一 个 办 法 是 利 用 API函 数 PolyBezier绘 制 Bezier曲 线 , 下 面 就 是 一 个 例 子 : 
    Private Type POINTL 
     x As Long 
     y As Long 
    End Type 
    Private Declare Function PolyBezier Lib "gdi32" (ByVal hdc As Long, lppt As POINTL, ByVal cPoints As Long) As Long 
    Private Declare Function LineTo Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long 
     
    Private apt(0 To 3) As POINTL 
    Private Declare Function MoveTo Lib "gdi32" Alias "MoveToEx" ( _ 
     ByVal hdc As Long, ByVal x As Long, ByVal y As Long, _ 
     Optional lpPoint As Any = 0) As Long 
    Sub InitBezier(cxClient As Long, cyClient As Long) 
    apt(0).x = ScaleX(cxClient / 2, vbTwips, vbPixels) 
    apt(0).y = ScaleY(cyClient / 10, vbTwips, vbPixels) 
    apt(1).x = ScaleX(cxClient / 4, vbTwips, vbPixels) 
    apt(1).y = ScaleY(cyClient / 2, vbTwips, vbPixels) 
    apt(2).x = ScaleX(3 * cxClient / 4, vbTwips, vbPixels) 
    apt(2).y = ScaleY(cyClient / 2, vbTwips, vbPixels) 
    apt(3).x = ScaleX(cxClient / 2, vbTwips, vbPixels) 
    apt(3).y = ScaleY(9 * cyClient / 10, vbTwips, vbPixels) 
    ForeColor = vbRed 
    End Sub 
     
    Sub DrawBezier() 
    DrawStyle = vbSolid 
    PolyBezier hdc, apt(0), 4 
    DrawStyle = vbDot 
    MoveTo hdc, apt(0).x, apt(0).y 
    LineTo hdc, apt(1).x, apt(1).y 
    MoveTo hdc, apt(2).x, apt(2).y 
    LineTo hdc, apt(3).x, apt(3).y 
    End Sub 
     
     
    Private Sub Form_Click() 
     InitBezier ScaleWidth, ScaleHeight 
     DrawBezier 
    End Sub 
    不 过 , 从 这 个 例 子 你 可 以 看 出 , Bezier曲 线 并 不 通 过 事 先 指 定 的 所 有 点 。 而 我 们 有 时 希 望 圆 滑 曲 线 通 过 所 有 采 样 点 。 这 时 你 应 该 采 用 插 值 的 办 法 来 绘 制 圆 滑 曲 线 。 一 般 在 工 科 的 数 学 书 或 计 算 机 算 法 书 上 都 可 以 找 到 插 值 的 公 式 , 并 根 据 你 的 实 际 情 况 选 择 适 当 的 插 值 方 法 。 
<END>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -