C# 如何将某一窗口内所有内容保存为图像
C# 如何将某一窗口内所有内容保存为图像此窗口中包含控件等内容,而且有滚动条,
内容远超过一屏,感谢大家了 --------------------编程问答-------------------- 哈,遨游就有这功能。怎么个做法等高人,MARK --------------------编程问答-------------------- 留个脚印~关注 --------------------编程问答-------------------- shift print 健可以,你可以模拟按下这两个健 --------------------编程问答-------------------- 是存到clipboard里 --------------------编程问答-------------------- 这么难的题,就别在csdn问了 --------------------编程问答-------------------- 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,可以做到,搜一下这方面很多
补充:.NET技术 , C#