我是復制了上一段程式的,只是改了幾個引數,為什么同樣都是PL.DrawWidth = 1但是一個顯示很細,一個顯示很粗
Sub Draw_Ellipse(X, y, Angle, color) ' 此句是畫橢圓的的程式
ChangeB(1, 1) = Cos(Angle): ChangeB(1, 2) = Sin(Angle): ChangeB(1, 3) = 0
ChangeB(2, 1) = -Sin(Angle): ChangeB(2, 2) = Cos(Angle): ChangeB(2, 3) = 0
ChangeB(3, 1) = -(X) * Cos(Angle) + y * Sin(Angle) + X
ChangeB(3, 2) = -(X) * Sin(Angle) - y * Cos(Angle) + y
ChangeB(3, 3) = 1
For i = 1 To 360
Ellipse(i, 1) = Xz(i) + X
Ellipse(i, 2) = Yz(i) + y '中間輪的另一種表達方式
Ellipse(i, 3) = 1
Next i
Call JZCF
PL.DrawWidth = 2
For k = 2 To 360
PL.Line (Ellipse(k - 1, 1), Ellipse(k - 1, 2))-(Ellipse(k, 1), Ellipse(k, 2)), color '相當于兩點之間的連線
Next k
PL.DrawWidth = 2
PL.Line (Ellipse(360, 1), Ellipse(360, 2))-(Ellipse(1, 1), Ellipse(1, 2)), color '相當于連中間的十字線
PL.Line (Ellipse(37, 1), Ellipse(37, 2))-(Ellipse(1, 1), Ellipse(1, 2)), color 'RGB(255, 255, 0)
PL.Line (Ellipse(19, 1), Ellipse(19, 2))-(Ellipse(55, 1), Ellipse(55, 2)), color 'RGB(255, 255, 0)
End Sub
Sub Draw_Ellipse1(X, y, Angle, color) ' 此句是畫中間錐齒輪的的程式
ChangeB(1, 1) = Cos(Angle): ChangeB(1, 2) = Sin(Angle): ChangeB(1, 3) = 0
ChangeB(2, 1) = -Sin(Angle): ChangeB(2, 2) = Cos(Angle): ChangeB(2, 3) = 0
ChangeB(3, 1) = -(X) * Cos(Angle) + y * Sin(Angle) + X
ChangeB(3, 2) = -(X) * Sin(Angle) - y * Cos(Angle) + y
ChangeB(3, 3) = 1
For i = 1 To 360
Ellipse1(i, 1) = 24 * Cos(i) + X
Ellipse1(i, 2) = 24 * Sin(i) + y '中間錐齒輪的另一種表達方式
Ellipse1(i, 3) = 1
Next i
Call JZCF1
PL.DrawWidth = 2
For k = 2 To 360
PL.Line (Ellipse1(k - 1, 1), Ellipse1(k - 1, 2))-(Ellipse1(k, 1), Ellipse1(k, 2)), color '相當于兩點之間的連線
Next k
PL.DrawWidth = 2
PL.Line (Ellipse1(360, 1), Ellipse1(360, 2))-(Ellipse1(1, 1), Ellipse1(1, 2)), color '相當于連中間的十字線
End Sub
uj5u.com熱心網友回復:
你的“程序”:JZCF和JZCF1 做了些什么?如果“同為PL.DrawWidth = 1”,畫出的線粗細不一樣,
最大的可能就是“度量單位”不一樣: 你改變了ScaleMode,以及“坐標值范圍”等。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/51438.html
標籤:VB基礎類
上一篇:git revert了別人的代碼
下一篇:為什么關屏不能重復的多次執行?
