借助for循环在图像上移动一行
本文关键字:一行 移动 for 循环 图像 借助 | 更新日期: 2023-09-27 18:21:43
我想在图像上移动一行。事实上,我正在使用循环。当我画一条新行时,前一行应该被删除。但是我不知道如何删除前一行。我尝试使用无效和处置方法,但没有成功。我的代码是:
int xinc = 0, yinc = 0;
for (int loop = 0; loop <= 363; loop++)
{
Thread.Sleep(200);
MethodInvoker actionimage1 = delegate
{
Graphics g = pictureBox1.CreateGraphics();
if (loop <= 117)
{
Pen p = new Pen(Color.Red, 4.0f);
g.DrawLine(p, 0, xinc, 363, xinc);
g.Clear(this.BackColor);
this.Dispose();
this.Invalidate();
xinc++;
}
if (loop <= 363)
{
Pen p = new Pen(Color.Red, 4.0f);
g.DrawLine(p, yinc, 0, yinc, 117);
g.Clear(this.BackColor);
this.Dispose(); // I need here to remove the line,
such that when loop starts again the
sholud be on next coordinate.
this.Invalidate();
yinc++;
}
};
pictureBox1.BeginInvoke(actionimage1);
}
不清楚您是在使用画布还是其他技术无论如何,这是的一般答案
- 如果使用位图(画布),则无法修改
像修改对象位置一样的线条,因为一切都是像素 -
相反,您可以在绘制
只是好奇地想知道,你想实现什么?