c#如何能得到窗体的图象,窗体隐藏,将该窗体的图象(即用画面硬拷贝得到的图象)得到并保存到本地.
现在可以用画面硬拷贝实现,但用这种方法如果当前操作的不是这个窗体就拷贝不到了,请问大家还有没有其他方法实现这个功能. 在线等......

解决方案 »

  1.   

    Bitmap memoryImage;
    Graphics myGraphics = this.CreateGraphics();
    Size s = this.Size;
    memoryImage = new Bitmap(s.Width, s.Height, myGraphics);
    Graphics memoryGraphics = Graphics.FromImage(memoryImage);
    memoryGraphics.CopyFromScreen(this.Location.X, this.Location.Y, 0, 0, s); 试试这个~~~
      

  2.   

    同意这位的 Graphics myGraphics = this.CreateGraphics(); 
    需要哪个窗体得到图象,这个Graphics 就要从哪里取过来,至于CopyFromScreen这个方法好象不对,
    我记得有一个方法的,忘了,以前做打印有滚动条的页面时用过
      

  3.   

     System.Drawing.Bitmap img = new Bitmap(this.ClientRectangle.X,this.ClientRectangle.Y);
                this.DrawToBitmap(img, this.ClientRectangle);
                img.Save(@"c:\aa.bmp");
      

  4.   

    看一下MSDNhttp://msdn.microsoft.com/en-us/library/fw1kt6f9.aspx
    或者
    http://msdn.microsoft.com/en-us/library/system.windows.forms.control.drawtobitmap.aspx
      

  5.   

    感谢大家的帮忙, 其实我要做的功能是,通过一个url,得到该url的页面效果,然后保存成图片. 现在的做法是:
     
     1.用webbrowse控件 打开该url.  2. 画面硬拷贝当前画面出现的问题: 1. 当程序在运行时, 我不能做其他操作,因为拷贝的画面是当前屏幕 2. 会弹出窗口才能拷贝到该画面图象希望是:
     
     不需要跳出窗体,后台自动拷贝该窗体访问到的网页画面. 不知道大家有没有什么好的办法? 再次感谢!!!
      

  6.   

    Bitmap memoryImage; 
    Graphics myGraphics = this.CreateGraphics(); 
    Size s = this.Size; 
    memoryImage = new Bitmap(s.Width, s.Height, myGraphics); 
    Graphics memoryGraphics = Graphics.FromImage(memoryImage); 
    memoryGraphics.CopyFromScreen(this.Location.X, this.Location.Y, 0, 0, s); 
    ==================================================
    上面的办法可以复制当前屏幕上图象,如果当前有活动窗体,那么活动窗体的图象也会被复制进来。
    如果需要保存指定窗体的图象,那就先找到那个窗体对象的实例(比如Form1),新建一个Image对象(比如image),对象的宽和高和Form1窗体的宽和高一致,然后Form1.DrawToBitmap(image,new Rectangle(Form1.Location,Form1.Width,Form1.Height));
    这样就行了。
      

  7.   

    http://topic.csdn.net/t/20060223/22/4574099.html
      

  8.   

    如何将html生成图片
    http://topic.csdn.net/u/20080404/17/816f62e8-98bb-40c4-9ce9-cce84b7ede80.html