关于窗体中被遮挡控件的截图的问题!求高手!
如题:最近要做个截屏功能,但是我只需要截取画面中的一部分(某控件 比如Grid),可这部分又老是会被别的控件遮挡(比如Panel),网上查了不少都是用拷屏,我觉得我这个其实就是要把 这个控件保存为一张图片不管被不被遮挡!
贴一下 当前的代码 (拷屏)
Rectangle r;
//获取控件的工作区矩形并转成屏幕上对应的区域
r = this.c1Chart1.RectangleToScreen(c1Chart1.ClientRectangle);
int with = c1Chart1.Width;
int height = c1Chart1.Height;
Image im = new Bitmap(with, height);
Graphics g = Graphics.FromImage(im);
g.CopyFromScreen(new Point(r.X, r.Y), new Point(0, 0), new Size(with, height));
//第一个参数是目标源左上角坐标,第二个参数是画布中的对应坐标,第三个参数区域大小。
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "Image(*.jpg)|*.jpg";
DialogResult dr = saveFileDialog1.ShowDialog();
if (dr == DialogResult.OK)
{
im.Save(saveFileDialog1.FileName);
}
else
{
MessageBox.Show("截图到文件失败!");
}
// Clipboard.SetImage(im);//拷贝数据到剪切板
g.Dispose();
im.Dispose();
求大虾给指点
隐藏截图
------解决方案--------------------control.DrawToBitmap(xxx)
------解决方案--------------------用API
printwindow
这样可以不管目标前面有没有东西挡住。