[VB6 ] Scale(x1,0)-(x2,0)的繪圖問題
我正在寫一個利用迴圈來繪圖的程式
因為圖片的大小是由迴圈中其中一個參數決定
所以迴圈裡繪圖程式碼的目前先是這樣打:
If Pout > PoutT Then
PoutS = Pout
End If
Picture3.Scale (-NO * 0.02, PoutS*1.2)-(NO * 1.3,-PoutS*0.09)
Picture3.Line (-NO * 0.02, 0)-(NO* 1.3, 0)
Picture3.Line (0, -PoutS * 0.02)-(0, PoutS * 1.2)
Picture3.Line (N, Pout)-(NT, PoutT), RGB(50, 205, 50)
PoutT = Pout
NT=N
這個程式的目的是求得Pout的曲線圖
迴圈是由N來控制,由Pout及NT紀錄上一個迴圈中Pout及N的值來畫線
由PoutS來比較每個Pout的大小,將最大的Pout選出後來決定Scale中Y軸的值
但是似乎問題在於在計算程式碼中所算出來的第一個Pout是「0」
編譯時似乎不能接受Scale(x1,0)-(x2,0)的狀況,會跑出錯誤「除以0」
所以我本來想說在個Scale前面加個
If PoutS=0 Then PoutS=0.000001 End If
用一個趨近於零的數字來取代
但是這樣就變成跑出來的圖出現錯誤
在Pout<PoutS時的PoutT通通變成另一個數值
結果在Pout<PoutS時的線會自己連到其他地方了
不知道有沒有高手知道解決方法呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.134.202.38
→
12/10 11:26, , 1F
12/10 11:26, 1F
→
12/10 11:26, , 2F
12/10 11:26, 2F
→
12/10 15:09, , 3F
12/10 15:09, 3F
→
12/10 15:09, , 4F
12/10 15:09, 4F