关于VB2008中用PictureBox1控件画实时曲线时用 BitBlt函数移动画面的问题
在VB2008中BitBlt函数的第一个参数怎么写?请高手指教?感激不尽!或者哪位高手知道在vb2008中有其它方法解决曲线后移的也可以!高分追加!...
在VB2008中BitBlt函数的第一个参数怎么写?
请高手指教?感激不尽!
或者哪位高手知道在vb2008中有其它方法解决曲线后移的也可以!
高分追加! 展开
请高手指教?感激不尽!
或者哪位高手知道在vb2008中有其它方法解决曲线后移的也可以!
高分追加! 展开
展开全部
PictureBox1.Handle.ToInt64
PictureBox1.CreateGraphics().Handle.ToInt64
用Graphics也是可以的,但我不懂怎么弄
补充:
你先在Form_Load里面把曲线画好,把Pic1的Image属性设置为你的曲线,然后这样:
Sub MoveLine(ByVal X As Integer, ByVal Y As Integer)
Dim old As Bitmap = Pic1.Image '这个是旧的图画
Dim newb As Bitmap = New Bitmap(Pic1.Width, Pic1.Height) '这个是新的图画
Dim g As Graphics
g = Graphics.FromImage(newb)
g.Clear(Pic1.BackColor) '设置背景
g.DrawImage(old, X, Y) '这边你自己把X和Y换成-1到1的值,用于移动图形
Pic1.Image = newb '设置图画
'这边可以自己加入Pic1.Refresh()
End If
在计时器的代码中里面写:
For i As Integer = 0 To Pic1.Weight '减去曲线的宽度
MoveLine(1, 0)
Next
For i As Integer = Pic1.Weight To 0 + 曲线宽度 Step 1
MoveLine(-1, 0)
Next
最好不要计时器了,直接一个按钮,Thread.Sleep(200)加在For中可以停顿片刻(单位:毫秒,这样才能做出连贯的动画)
可以的话多加分
PictureBox1.CreateGraphics().Handle.ToInt64
用Graphics也是可以的,但我不懂怎么弄
补充:
你先在Form_Load里面把曲线画好,把Pic1的Image属性设置为你的曲线,然后这样:
Sub MoveLine(ByVal X As Integer, ByVal Y As Integer)
Dim old As Bitmap = Pic1.Image '这个是旧的图画
Dim newb As Bitmap = New Bitmap(Pic1.Width, Pic1.Height) '这个是新的图画
Dim g As Graphics
g = Graphics.FromImage(newb)
g.Clear(Pic1.BackColor) '设置背景
g.DrawImage(old, X, Y) '这边你自己把X和Y换成-1到1的值,用于移动图形
Pic1.Image = newb '设置图画
'这边可以自己加入Pic1.Refresh()
End If
在计时器的代码中里面写:
For i As Integer = 0 To Pic1.Weight '减去曲线的宽度
MoveLine(1, 0)
Next
For i As Integer = Pic1.Weight To 0 + 曲线宽度 Step 1
MoveLine(-1, 0)
Next
最好不要计时器了,直接一个按钮,Thread.Sleep(200)加在For中可以停顿片刻(单位:毫秒,这样才能做出连贯的动画)
可以的话多加分
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询