C# 如何将某一窗口内所有内容保存为图像 哈,遨游就有这功能。怎么个做法等高人,MARK 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 shift print 健可以,你可以模拟按下这两个健 WINFROM可以看看下面http://blog.csdn.net/zgke/archive/2008/09/05/2886394.aspx private Bitmap GetBitmap() { //获得当前屏幕的大小 Rectangle rect = new Rectangle(this.Location, new Size(this.Width , this.Height )); //rect = Screen.GetWorkingArea(this); //创建一个以当前屏幕为模板的图象 Graphics g1 = this.CreateGraphics(); ////创建以屏幕大小为标准的位图 Bitmap MyImage = new Bitmap(rect.Width, rect.Height, g1); Graphics g2 = Graphics.FromImage(MyImage); //得到屏幕的DC IntPtr dc1 = g1.GetHdc(); //得到Bitmap的DC IntPtr dc2 = g2.GetHdc(); //调用此API函数,实现屏幕捕获 BitBlt(dc2, 0, 0, rect.Width, rect.Height, dc1, 0, 0, 13369376); //释放掉屏幕的DC g1.ReleaseHdc(dc1); //释放掉Bitmap的DC g2.ReleaseHdc(dc2); //以JPG文件格式来保存 //MyImage.Save(@"c:\Capture.bmp", ImageFormat.Bmp); //MessageBox.Show("当前屏幕已经保存为C盘的capture.jpg文件!"); return MyImage; }内容远超过一屏???是什么意思? //截屏,参考private void button1_Click(object sender, EventArgs e){ Bitmap bt = new Bitmap(this.Width, this.Height); Graphics g = Graphics.FromImage(bt); g.CopyFromScreen(new Point(this.Left, this.Top), new Point(0, 0), this.Size); bt.MakeTransparent(); bt.Save("c:\\tempfile.bmp", System.Drawing.Imaging.ImageFormat.Bmp); } 使用WebBrowser,可以做到,搜一下这方面很多 如何判断服务器实时连接 C# 水晶报表数据源问题 智能设备--datagrid C# 怎样实现背景音乐的切换 C#负数问题 如何在多线程中显示新窗口? using 没有使用的命名空间对性能的影响 紧急 紧急 在WinForm中,怎样让 DHTML Edit 控件不要修改我的网页源代码??? C#中开发GIS系统,有什么组件可用? Visual Studio 2013 update 4 安装 Visual Studio Tools for Apache Cordova CTP3.1 报错 datagridview 如何验证数值型数据???? 急,异步调用问题.......
http://blog.csdn.net/zgke/archive/2008/09/05/2886394.aspx
private Bitmap GetBitmap()
{
//获得当前屏幕的大小
Rectangle rect = new Rectangle(this.Location, new Size(this.Width , this.Height ));
//rect = Screen.GetWorkingArea(this);
//创建一个以当前屏幕为模板的图象
Graphics g1 = this.CreateGraphics();
////创建以屏幕大小为标准的位图
Bitmap MyImage = new Bitmap(rect.Width, rect.Height, g1);
Graphics g2 = Graphics.FromImage(MyImage);
//得到屏幕的DC
IntPtr dc1 = g1.GetHdc();
//得到Bitmap的DC
IntPtr dc2 = g2.GetHdc();
//调用此API函数,实现屏幕捕获
BitBlt(dc2, 0, 0, rect.Width, rect.Height, dc1, 0, 0, 13369376);
//释放掉屏幕的DC
g1.ReleaseHdc(dc1);
//释放掉Bitmap的DC
g2.ReleaseHdc(dc2);
//以JPG文件格式来保存
//MyImage.Save(@"c:\Capture.bmp", ImageFormat.Bmp);
//MessageBox.Show("当前屏幕已经保存为C盘的capture.jpg文件!");
return MyImage;
}内容远超过一屏???是什么意思?
{
Bitmap bt = new Bitmap(this.Width, this.Height);
Graphics g = Graphics.FromImage(bt);
g.CopyFromScreen(new Point(this.Left, this.Top), new Point(0, 0), this.Size);
bt.MakeTransparent();
bt.Save("c:\\tempfile.bmp", System.Drawing.Imaging.ImageFormat.Bmp);
}