我在 PictureBox Image 画布上绘制了一些形状,但我遇到了一个问题,我需要同时在画布周围为它们设置动画。
因为我需要更新画布上形状的位置,这意味着我需要清除画布并重新绘制所有内容,这显然会在更新时产生闪烁效果。
我有什么选择来解决这个问题?我发现移动它们的唯一方法是让形状“跟踪”,这不是我想要的。
这里有一些代码来解释我的困境:
Form_Load:
OriginalImage = pictureBox1.Image;
Timer_Tick:
pictureBox1.Image = OriginalImage;
Image canvas = (Image)pictureBox1.Image.Clone();
Graphics g = Graphics.FromImage(canvas);
g.DrawRectangle(newPosition);
Timer2_Tick:
// This will clear the canvas and only draw the ellipse, which means I can't get both shapes on at the same time.
pictureBox1.Image = OriginalImage;
Image canvas = (Image)pictureBox1.Image.Clone();
Graphics g = Graphics.FromImage(canvas);
g.FillEllipse(newPosition);
pictureBox1.Image =