level 2
开国第一元帅
楼主
大家好,请教一下VB.net填充矩形如何提高速度,我用VB.net填充40000个矩形,让它们的颜色从黑色逐渐变到白色,速度好慢,有什么方法提高速度,瞬间完成,我用的是Graphics类填充,还有什么其他的方法吗,谢谢
Public Class Form1
Dim x(0 To 199) As Single
Dim y(0 To 199) As Single
Dim R1 = 255
Dim G1 = 255
Dim B1 = 255
Dim bgimage As Bitmap '将这个位图对象关联到图片框的Image属性
Dim bggriphic As Graphics '以后绘图时,只需要在这个位图对象上绘制即可,图片框会自动重绘的
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i, j, i2 As Integer
bgimage = New Bitmap(PictureBox1.Width, PictureBox1.Height) '创建相同大小的内存位图
bggriphic = Graphics.FromImage(bgimage)
PictureBox1.Image = bgimage
For i = 0 To 199
x(i) = i * 3
y(i) = i * 3
Next
For i2 = 0 To 255
R1 = i2
G1 = i2
B1 = i2
For i = 0 To 199
For j = 0 To 199
Dim MyBrush1 As New SolidBrush(Color.FromArgb(R1, G1, B1))
bggriphic.FillRectangle(MyBrush1, x(i), y(j), 2, 2)
Next
Next
PictureBox1.Refresh()
Next
End Sub
End Class
2018年11月27日 02点11分
1
Public Class Form1
Dim x(0 To 199) As Single
Dim y(0 To 199) As Single
Dim R1 = 255
Dim G1 = 255
Dim B1 = 255
Dim bgimage As Bitmap '将这个位图对象关联到图片框的Image属性
Dim bggriphic As Graphics '以后绘图时,只需要在这个位图对象上绘制即可,图片框会自动重绘的
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i, j, i2 As Integer
bgimage = New Bitmap(PictureBox1.Width, PictureBox1.Height) '创建相同大小的内存位图
bggriphic = Graphics.FromImage(bgimage)
PictureBox1.Image = bgimage
For i = 0 To 199
x(i) = i * 3
y(i) = i * 3
Next
For i2 = 0 To 255
R1 = i2
G1 = i2
B1 = i2
For i = 0 To 199
For j = 0 To 199
Dim MyBrush1 As New SolidBrush(Color.FromArgb(R1, G1, B1))
bggriphic.FillRectangle(MyBrush1, x(i), y(j), 2, 2)
Next
Next
PictureBox1.Refresh()
Next
End Sub
End Class