新建一个bitmap,将图像绘制在bitmap里面,然后将picturebox的image属性设置为它。

解决方案 »

  1.   

    代码: mapfb = new Bitmap(imagefb);
                graphicfb = Graphics.FromImage(mapfb);
                graphicfb.FillRectangle(Brushes.Blue, 0, Calculate.GetBarPossion(anglefb, 523), 468, 30);
                Image.GetThumbnailImageAbort myCallback =
        new Image.GetThumbnailImageAbort(ThumbnailCallback);
                pictureBoxFontBack.Image = mapfb.GetThumbnailImage(pictureBoxFontBack.Width, pictureBoxFontBack.Height, myCallback, IntPtr.Zero);
      

  2.   

     mapfb = new Bitmap(imagefb);
                graphicfb = Graphics.FromImage(mapfb);
                graphicfb.FillRectangle(Brushes.Blue, 0, Calculate.GetBarPossion(anglefb, 523), 468, 30);
                Image.GetThumbnailImageAbort myCallback =
        new Image.GetThumbnailImageAbort(ThumbnailCallback);
                pictureBoxFontBack.Image = mapfb.GetThumbnailImage(pictureBoxFontBack.Width, pictureBoxFontBack.Height, myCallback, IntPtr.Zero);
      

  3.   

    这是写在pictureboxPaint事件里的
      

  4.   

    两个picturebox的paint代码不要共享同一组变量
    尤其是Graphics对象,你应该在OnPaint事件里获取e.Graphics,然后操作它
      

  5.   

    OnPaint是调用Paint事件的方法. 你说的意思是在Paint事件里获取e.Graphics?   但是我是想在一张图片上画东西
      

  6.   

    在哪里刷新?
    现在问题是窗体运行起来后不会进入这个PictureBox的Paint事件
      

  7.   

    OnPaint是调用Paint事件的方法. 你说的意思是在Paint事件里获取e.Graphics?   但是我是想在一张图片上画东西
    你既然想在两个picturebox里分别画图形,应该是分别绑定了一个事件,不是都绑定同一个函数吧
      

  8.   

    OnPaint是调用Paint事件的方法. 你说的意思是在Paint事件里获取e.Graphics?   但是我是想在一张图片上画东西
    你既然想在两个picturebox里分别画图形,应该是分别绑定了一个事件,不是都绑定同一个函数吧
    对,我在两个picturebox的Paint事件里分别写的不同的绘制代码
      

  9.   

    在哪里刷新?
    现在问题是窗体运行起来后不会进入这个PictureBox的Paint事件
    拿到图像后刷新下
      

  10.   

    我问下,paint事件是多线程操作的吗,
      

  11.   

    我问下,paint事件是多线程操作的吗,
    单线程的,它在主线程里执行
      

  12.   

    我问下,paint事件是多线程操作的吗,
    单线程的,它在主线程里执行
    那基本上所有的控件刚开始都会执行一次Paint事件吧?
      

  13.   

    任何和界面打交道的操作,都必须同步,在UI线程执行,paint也不例外