PictureBox イメージ キャンバスにいくつかの図形を描画していますが、同時にキャンバスの周りでそれらをアニメーション化する必要があるという問題に遭遇しました。
キャンバス上の形状の位置を更新する必要があるため、キャンバスをクリアしてすべてを再描画する必要があることを意味します。これにより、明らかに更新時にちらつき効果が生じます。
この問題を回避するには、どのようなオプションが必要ですか? それらを移動するために私が見つけた唯一の方法は、形状を「トレイル」にすることですが、これは私が望んでいるものではありません。
私の苦境を説明するコードは次のとおりです。
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 =