我从电脑里读了一幅图像,绘制到了PictureBox上,用的是:
Graphics gg = ImgFromPC.CreateGraphics();
            gg.DrawImage(bp,new Rectangle(0,0,256,256));
这种方式,其中bp是我的Bitmap类型的图像
现在我想将这个PictureBox中的图像导出为Bitmap类型,用了下面的代码:
Bitmap bp = new Bitmap(256, 256);
            ImgFromPC.DrawToBitmap(bp,ImgFromPC.ClientRectangle);
但是这个bp读出来之后完全啥也没有,不知道是什么问题,望各位给出指导,非常感谢

解决方案 »

  1.   


                //Bitmap bmp = (Bitmap)this.pictureBox1.Image;            Bitmap bmp = new Bitmap(this.pictureBox1.Image.Width, this.pictureBox1.Image.Height);
                Graphics g = Graphics.FromImage(bmp);
                g.DrawImage(this.pictureBox1.Image, 0, 0);
                g.Dispose();由于Bitmap是Image的子类,可以直接强制转换。
    或者创建一个Bitmap,然后把Image画上去就OK。
      

  2.   

    不能强制转换,因为picturebox可能不是位图而是矢量图,这时候强制转换就错了,只能DrawImage,
      

  3.   

    Graphics gg=Graphics.FromImage((Bitmap)ImgFromPC.Image);
    gg.DrawImage(bp,new Rectangle(0,0,256,256));
    gg.Dispose();
    Bitmap emp =new Bitmap((Bitmap)ImgFromPC.Image);