[VB6 ] Scale(x1,0)-(x2,0)的繪圖問題

看板Visual_Basic作者 (No.81 亞當‧龍)時間11年前 (2012/12/10 10:58), 編輯推噓0(004)
留言4則, 2人參與, 最新討論串1/1
我正在寫一個利用迴圈來繪圖的程式 因為圖片的大小是由迴圈中其中一個參數決定 所以迴圈裡繪圖程式碼的目前先是這樣打: 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
先跑一次找出最大值然後scale一次不就結了
12/10 11:26, 1F

12/10 11:26, , 2F
何必每次都scale
12/10 11:26, 2F

12/10 15:09, , 3F
我把Scale放在Next後面,XY軸有畫出來,但是Pout曲線卻
12/10 15:09, 3F

12/10 15:09, , 4F
出不來,有沒有其他解決方式呢?
12/10 15:09, 4F
文章代碼(AID): #1GnK_hb4 (Visual_Basic)