C#怎么截取指定范围内自身窗体背景图片?

有个最大化的空窗体,上面有个铺满的背景图片,怎么把指定范围内的背景保存为图片?窗体是无边框的,需要截取的区域就是图中的蓝色框内的区域,这个范围可以调整... 有个最大化的空窗体,上面有个铺满的背景图片,怎么把指定范围内的背景保存为图片?

窗体是无边框的,需要截取的区域就是图中的蓝色框内的区域,这个范围可以调整
展开
 我来答
帐号已注销
推荐于2016-02-13 · TA获得超过1134个赞
知道小有建树答主
回答量:742
采纳率:73%
帮助的人:420万
展开全部
在窗体类添加三个字段
private Point startP;
private bool mouseDown;
private Bitmap image;
在窗体初始化函数Load中添加:
this.mouseDown=false;
this.image=null;
为窗体添加MouseDown事件,在事件函数中添加:
if(e.Button==MouseButtons.Left)
{
this.startP=new Point(e.X,e.Y);
this.mouseDown=true;
}
为窗体添加MouseUp事件,在事件函数中添加:
if(this.mouseDown)
{
this.mouseDown=false;
Size size=new Size(e.X-startP.X,e.Y-startP.Y);
this.image=new Bitmap(size.Width,size.Height);
Graphics g=Graphics.FromImage(this.image);
g.CopyFromScreen(this.Location.X+startP.X,this.Location.Y+startP.Y,0,0,size);
g.Save();
g.Dispose();
/*此时this.image就是你鼠标截图的部分图像,可以用于显示在其他窗体,也可以保存到文件。*/
}

你试试,我手打的,没调试!
追问
原来是这个思路啊,我之前考虑的是使用窗体的DrawToBitmap,结果得到的bmp是空的,保存之后本地没有发现文件
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式