复杂背景下绘制移动小球的算法,如何才能提高绘制效率
程序的功能是在相同的背景(复杂背景)绘制一组移动小球的图片,即在每幅图片上都画上一个小球,但位置不同。
我考虑的方法是,每次绘制新图片时,首先记录下绘制区域的背景颜色信息。下次绘制时,首先将上次的绘制区域用已经记录的背景覆盖,而不是重新载入整个背景。但是不知道如何实现,哪位高手能指点一下方法...
下面是我写的代码
Image image = Image.FromFile( "d:\\test.bmp "); //载入背景
Bitmap bitmap = new Bitmap(image,image.Width,image.Height);
Graphics g = Graphics.FromImage(bitmap);
SolidBrush brush = new SolidBrush(Color.Black);
int i=0, dia = 10;
for(i=0;i <10;i++)
{
//此处应添加用记录的背景信息擦除上次绘制小球的代码,如何实现
g.FillEllipse(brush,i*10,i*10,dia,dia); //画小球
boxPictrue.Image = bitmap; //显示结果
}
------解决方案--------------------你把背景和小球分开,用2个PIC画
------解决方案--------------------将背景image对象保存起来,
然后带背景和小球的图片从背景image产生。