首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在for循环的帮助下在图像上移动一行

在for循环的帮助下在图像上移动一行
EN

Stack Overflow用户
提问于 2013-07-10 17:51:08
回答 1查看 154关注 0票数 0

我想在图像上移动一条线。事实上,我正在使用一个循环。当我画一条新线时,前一条线应该被删除。但我不知道如何删除前一行。我尝试使用invalidate和dispose方法,但不起作用。我的代码是:

代码语言:javascript
复制
           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);
                }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-10 18:11:21

目前还不清楚您使用的是canvas还是其他技术。无论如何,下面是通用的答案

  • 如果您正在使用位图(画布),则不能修改

像修改对象位置一样的线,因为一切都是像素的。

  • 相反,你可以在绘制线条之前重新绘制初始图像(输入)。

只是好奇地想知道,你想实现什么目标?--

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17567528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档