none
请问如何实现picturebox的自动重绘呢? RRS feed

  • 问题

  • 我画出来的图像总是出不来,在Form_Load事件里先写一个Form.Show()也不行,而且图片一旦被其他窗体盖住后,就什么也没有了.请问如何实现图片的自动刷新呢?
    2007年11月5日 3:32

答案

  • 程序块

            private void btnDraw_Click(object sender, EventArgs e)
            {
                Bitmap bitmap = new Bitmap(400, 300);
                Graphics g = Graphics.FromImage(bitmap);

                Pen redPen = new Pen(Color.Red, 2);

                g.DrawLine(redPen, 0, 0, 400, 300);
                g.DrawEllipse(redPen, 3.0f, 3.0f, 40.0f, 50.0f);

                redPen.Dispose();

     

                pictureBoxMain.Image = bitmap;
            }

     

     

    我尝试着写了这么个方法,用Graphics在PictureBox里显示一个图片,这个方法运行之后我看到它可以自动重绘哦。

    因为我对GDI不是很熟悉,但我希望能帮到你。

    2007年11月10日 2:20
    版主

全部回复

  • .NET的Windows Form里PictureBox默认会在窗口改变后重绘图片。不知道你描述的是一个什么样的应用。

    2007年11月8日 2:25
    版主
  • 在使用Graphics绘图时,PictureBox便不会自动重绘,只有填充图片时才可以自动重绘
    我想使用Graphics绘图也有这个效果
    2007年11月8日 9:55
  • 程序块

            private void btnDraw_Click(object sender, EventArgs e)
            {
                Bitmap bitmap = new Bitmap(400, 300);
                Graphics g = Graphics.FromImage(bitmap);

                Pen redPen = new Pen(Color.Red, 2);

                g.DrawLine(redPen, 0, 0, 400, 300);
                g.DrawEllipse(redPen, 3.0f, 3.0f, 40.0f, 50.0f);

                redPen.Dispose();

     

                pictureBoxMain.Image = bitmap;
            }

     

     

    我尝试着写了这么个方法,用Graphics在PictureBox里显示一个图片,这个方法运行之后我看到它可以自动重绘哦。

    因为我对GDI不是很熟悉,但我希望能帮到你。

    2007年11月10日 2:20
    版主
  • 确实可以,非常感谢
    2007年11月14日 0:24
  •  Shiny Zhu 写:

    .NET的Windows Form里PictureBox默认会在窗口改变后重绘图片。不知道你描述的是一个什么样的应用。

    2007年11月14日 2:25
  • 正好也能用到!十分感谢! Shiny Zhu 的代码很易懂

     

    2007年11月15日 16:38
  •  

    你在picturebox的paint事件中绘图即可实现自动重绘。
    2007年11月23日 3:27
    版主