请问如何用Line画一个正五边形???
如题,100分相送!
[解决办法]
从我的cimage类中摘取的,用了API,你可以把他直接改为对象的line方法
Private Declare Function MoveToEx Lib "gdi32 " (ByVal hDC As Long, ByVal x As Long, ByVal y As Long, lpPoint As Any) As Long
Private Declare Function LineTo Lib "gdi32 " (ByVal hDC As Long, ByVal x As Long, ByVal y As Long) As Long
Public Function DrawDiamond(hDC As Long, Num As Long, CenterX As Long, CenterY As Long, Radius As Long) As Boolean
ReDim A1(Num) As Single, A2(Num) As Single
Dim i As Long, j As Long
Dim Theta As Single
Theta = 2 * 3.14159265358979 / Num
For i = 0 To Num
A1(i) = Radius * Cos(Theta * (i + 1)) + CenterX
A2(i) = CenterY - Radius * Sin(Theta * (i + 1))
Next
For i = 0 To Num - 1
For j = i + 1 To Num
MoveToEx hDC, A1(i), A2(i), 0
DrawLine = LineTo(hDC, A1(j), A2(j))
Next
Next
DrawDiamond = True
End Function
Private Sub Command1_Click()
DrawDiamond Me.hDC, 5, 100, 100, 50
End Sub
[解决办法]
调这里:
For i = 0 To Num
A1(i) = Radius * Cos(Theta * (i + 1)) + CenterX
A2(i) = CenterY - Radius * Sin(Theta * (i + 1))
Next
你把Theta * (i + 1)加上一个角度即可