我有Graphic对象的问题。我有一个循环,它通过一些数组,它从他们获取图像,并在图片框上绘制它们。一切都很好但是当我尝试调整大小或绘制另一个更重的东西时,每件事都开始闪烁就像他们在画画时一样。我知道它太沉重了,无法画出那些该死的东西!但有没有办法避免撕裂?
感谢。
修改
我的代码:
graphic.Clear(frmmain.Workspace.BackColor)
For i = 0 To mObjectsList.Count - 1
graphic.DrawImage(mObjectsList(i).oGraphic, mObjectsList(i).oX, mObjectsList(i).oY, mObjectsList(i).oWidth, mObjectsList(i).oHeight)
Next
答案 0 :(得分:3)
graphic是一个变量,我是从我的图片框图形对象
创建的
图片框没有Graphic对象。 不使用其CreateGraphics()方法。无论你通过什么画在屏幕上的时间只有几分之一秒,几乎没有昙花一现。改为使用Paint事件处理程序中的e.Graphics。这将吸引双缓冲位图。 PictureBox始终将其DoubleBuffered属性设置为true。当Paint事件完成时,将绘制该位图。这就是为什么你的对象闪烁,它们会被那个位图再次透支。