max = price(0) min = price(0) count = 0 For i = 0 To 29 count = count + price(i) If max < price(i) Then max = price(i) End If If min > price(i) Then min = price(i) End If Next average = Int(count / 30) '首先清除form1.Picture1内的图形 Form1.Picture1.Cls 'Scale方法设定用户坐标系,坐标原点在form1.Picture1左边 Form1.Picture1.ScaleMode = 0 Form1.Picture1.ScaleMode = 3 Form1.Picture1.Scale (-1, max + 6)-(36, min - 6) '设置绘线宽度 Form1.Picture1.DrawWidth = 1 '绘坐标系的X轴及箭头线 Form1.Picture1.Line (0, min - 3)-(33, min - 3), vbBlue Form1.Picture1.Line (32, min - 2)-(33, min - 3), vbBlue Form1.Picture1.Line (32, min - 4)-(33, min - 3), vbBlue Form1.Picture1.ForeColor = vbBlue Form1.Picture1.Print "日期(天)" '绘坐标系的Y轴及箭头线 Form1.Picture1.Line (0, max + 3)-(0, min - 3), vbBlue Form1.Picture1.Line (0, max + 3)-(0.5, max + 3 - 3), vbBlue 'form1.Picture1.Line -(-0.5, 9), vbBlue Form1.Picture1.Print "价格(元)"
'绘价格平均线 Form1.Picture1.Line (2, average)-(31, average), vbGreen Form1.Picture1.CurrentX = 1 Form1.Picture1.CurrentY = average Form1.Picture1.ForeColor = vbGreen Form1.Picture1.Print average '指定位置显示原点O Form1.Picture1.CurrentX = 0.5 Form1.Picture1.CurrentY = -0.5 '重设绘线宽度 Form1.Picture1.DrawWidth = 2 '用For循环绘点和描线 i = 2 datecount = 0 For a = 0 To 29 '绘点,如果价格是最大值或最小值,绘粗点 If price(a) = max Or price(a) = min Then
Form1.Picture1.DrawWidth = 8 Form1.Picture1.PSet (i, price(a)), vbGreen Form1.Picture1.Print price(a) Else Form1.Picture1.DrawWidth = 4 Form1.Picture1.PSet (i, price(a)), vbRed End If
'打印对应的日期 Form1.Picture1.CurrentX = i Form1.Picture1.CurrentY = min - 3 Form1.Picture1.ForeColor = vbBlack Form1.Picture1.Print Day(Date - 29 + datecount) datecount = datecount + 1 '描线 If a <> 0 Then Form1.Picture1.DrawWidth = 1 Form1.Picture1.Line (i - 1, price(a - 1))-(i, price(a)), vbYellow End If i = i + 1 Next
<%set obj=server.createobject("howe.picturedraw")
obj.drawimage%>
得不到结果还望继续指教,谢谢!
Option ExplicitPublic Sub drawimage()
Dim datevalue
Dim price(29)
Dim count
Dim temp, max, min, i, j As Integer
Dim average, datecount, a
j = 0
price(0) = 70
price(1) = 75
price(2) = 65
price(3) = 69
price(4) = 78
price(5) = 80
price(6) = 75
price(6) = 70
price(7) = 77
price(8) = 60
price(9) = 65
price(10) = 55
price(11) = 53
price(12) = 55
price(13) = 55
price(14) = 55
price(15) = 60
price(16) = 60
price(17) = 60
price(18) = 79
price(19) = 60
price(20) = 60
price(21) = 62
price(22) = 63
price(23) = 60
price(24) = 60
price(25) = 80
price(26) = 75
price(27) = 75
price(28) = 75
price(29) = 50
max = price(0)
min = price(0)
count = 0
For i = 0 To 29
count = count + price(i)
If max < price(i) Then
max = price(i)
End If
If min > price(i) Then
min = price(i)
End If
Next
average = Int(count / 30)
'首先清除form1.Picture1内的图形 Form1.Picture1.Cls 'Scale方法设定用户坐标系,坐标原点在form1.Picture1左边 Form1.Picture1.ScaleMode = 0 Form1.Picture1.ScaleMode = 3 Form1.Picture1.Scale (-1, max + 6)-(36, min - 6) '设置绘线宽度 Form1.Picture1.DrawWidth = 1 '绘坐标系的X轴及箭头线 Form1.Picture1.Line (0, min - 3)-(33, min - 3), vbBlue Form1.Picture1.Line (32, min - 2)-(33, min - 3), vbBlue Form1.Picture1.Line (32, min - 4)-(33, min - 3), vbBlue Form1.Picture1.ForeColor = vbBlue Form1.Picture1.Print "日期(天)" '绘坐标系的Y轴及箭头线 Form1.Picture1.Line (0, max + 3)-(0, min - 3), vbBlue Form1.Picture1.Line (0, max + 3)-(0.5, max + 3 - 3), vbBlue 'form1.Picture1.Line -(-0.5, 9), vbBlue Form1.Picture1.Print "价格(元)"
'绘价格平均线
Form1.Picture1.Line (2, average)-(31, average), vbGreen
Form1.Picture1.CurrentX = 1
Form1.Picture1.CurrentY = average
Form1.Picture1.ForeColor = vbGreen
Form1.Picture1.Print average '指定位置显示原点O Form1.Picture1.CurrentX = 0.5 Form1.Picture1.CurrentY = -0.5
'重设绘线宽度 Form1.Picture1.DrawWidth = 2 '用For循环绘点和描线
i = 2
datecount = 0
For a = 0 To 29
'绘点,如果价格是最大值或最小值,绘粗点
If price(a) = max Or price(a) = min Then
Form1.Picture1.DrawWidth = 8
Form1.Picture1.PSet (i, price(a)), vbGreen
Form1.Picture1.Print price(a)
Else
Form1.Picture1.DrawWidth = 4
Form1.Picture1.PSet (i, price(a)), vbRed
End If
'打印对应的日期
Form1.Picture1.CurrentX = i
Form1.Picture1.CurrentY = min - 3
Form1.Picture1.ForeColor = vbBlack
Form1.Picture1.Print Day(Date - 29 + datecount)
datecount = datecount + 1
'描线
If a <> 0 Then
Form1.Picture1.DrawWidth = 1
Form1.Picture1.Line (i - 1, price(a - 1))-(i, price(a)), vbYellow
End If
i = i + 1
Next
'指定位置显示描述文字
Form1.Picture1.CurrentX = 30
Form1.Picture1.CurrentY = max
Form1.Picture1.ForeColor = vbBlue
Form1.Picture1.Print "价格走势:红色"
Form1.Picture1.CurrentX = 30
Form1.Picture1.CurrentY = max - 3
Form1.Picture1.ForeColor = vbBlue
Form1.Picture1.Print "平均价格:绿色"
End Submm.frm
Option ExplicitPrivate Sub Form_Activate()
Dim classa As New picturedraw
classa.drawimage
End Sub工程名:mmdraw
传递 me.picture1
Good Luck
还请帮助:method or data member not found.
Public Sub drawimage(picture1 as picturebox)
调用:
Private Sub Form_Activate()
Dim classa As New eboss.drawclassa.drawimage (Me.Picture1)
end sub