我怎么画出来的延长线它粗细不均匀啊?
这么将直角三角型的斜边延长对不对啊?
下面是我的程序啊!特别感谢啊!!!!
************************************************
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Dim Pi As Double
Dim X1 As Long, X2 As Long, X3 As Long, Y1 As Long, Y2 As Long, Y3 As Long
Private Sub Command1_Click()
Dim XieChang As Double
Dim i As Long
Dim Aa As Long
Dim Bb As Long
Dim Jao As Double
Dim Sa As Double
Dim Sb As Double
Command1.Caption = "正在计算"
Command1.Enabled = False
Pi = 3.14159265358979
XieChang = Sqr((X2 - X1) ^ 2 + (Y1 - Y2) ^ 2) 勾股定理;计算斜边的长度
Text1.Text = XieChang 斜边的长度
Aa = X2 - X1 直角三角型底边
Bb = Y1 - Y2 直角三角型对边
Jao = Atn(Bb / Aa) * 180 / Pi 角度
Text2.Text = Jao * 180 / Pi
For i = 1 To 300 Step 1
Sb = (XieChang + i) * Sin(Jao)
Sa = (XieChang + i) * Cos(Jao)
X3 = Round(X1 + Sa)
Y3 = Round(Y1 - Sb)
Form1.Line (X2, Y2)-(X3, Y3), RGB(255, 0, 0)
DoEvents
Sleep 100
Next
Form1.Line (X2, Y2)-(X3, Y3), RGB(0, 0, 255)
Form1.Line (X2, Y1)-(X3, Y1), RGB(255, 0, 0)
Form1.Line (X3, Y1)-(X3, Y3), RGB(255, 0, 0)
Command1.Caption = "OK"
Command1.Enabled = True
End Sub
Private Sub Form_Load()
Form1.ScaleMode = vbPixels
X1 = 10: X2 = 200: Y1 = 300: Y2 = 200
Form1.Line (X1, Y1)-(X2, Y1), RGB(0, 255, 0)
Form1.Line (X2, Y1)-(X2, Y2), RGB(0, 255, 0)
Form1.Line (X1, Y1)-(X2, Y2), RGB(0, 255, 0)
End Sub
Private Sub Form_Unload(Cancel As Integer)
If Command1.Caption = "OK" Then
Cancel = 0
Else
Cancel = -1
End If
End Sub
问你一下,你的300是指延长线长度吗?
那么建议你用变量来表示:)
感觉算法应该是正确的:)
还有你的延长线有什么其他要求?