自己写的C#截图工具

问题描述

自学C#差不多一星期,之前大一学习过C和C++,之后接触过学校组织的一星期java实习培训,想了想选择C#了。这几天宅宿舍天天写,参考各种资料终于写成了这个截图工具。跟QQ截图很像,不过没有自动选框功能和截图后涂鸦编辑功能。新手代码很乱。。附上核心代码。完整工程文件和源代码见这里http://download.csdn.net/detail/justlovediaodaio/4620457环境VS2012ForDesktop,NetFramework4.5.

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.IO;usingSystem.Linq;usingSystem.Text;usingSystem.Text.RegularExpressions;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespaceCatchScreen{//定义委托publicdelegatevoidSetICS(boolisCatchScreen);publicpartialclassCatch:Form{//鼠标位置的枚举privateenumMouseLocation{LeftUpPoint,LeftDownPoint,RightUpPoint,RightDownPoint,LeftLine,RightLine,UpLine,DownLine,InRectangle,OutOfRectangle}privateMouseLocationmouseLocation;//定义该委托的事件publiceventSetICSSetICSEvent;//截屏原始图片privateBitmaporiginBmp;//鼠标左键按下的坐标privatePointmouseDownPoint;//调节截图框时的固定不动点privatePointfixedPoint;//是否允许绘制矩形截图状态privateboolisDraw;//截图完成状态privateboolisCatched;//是否允许调节矩形框privateboolisAdjust;//绘制的截图矩形框privateRectanglerect;publicCatch(){InitializeComponent();}//将当前屏幕截图,显示到全屏无标题栏窗体上privatevoidCatch_Load(objectsender,EventArgse){//设置截图状态为开始SetICSEvent(true);//隐藏窗体,保证截屏图片为当前屏幕而不是被窗体覆盖this.Hide();//以当前窗口大小(窗口默认最大化,即全屏)创建截屏空白图片this.originBmp=newBitmap(this.Width,this.Height);//以截屏图片作为画板using(Graphicsgs=Graphics.FromImage(originBmp)){//复制当前屏幕到画板上,即将截屏图片的内容设置为当前屏幕gs.CopyFromScreen(0,0,0,0,this.Size);}//将截屏图片设为窗体背景this.BackgroundImage=newBitmap(this.originBmp);//添加截屏时的黑色遮罩,即在窗体背景上绘制全屏半透明黑色填充矩形using(Graphicsblackgs=Graphics.FromImage(this.BackgroundImage)){using(SolidBrushbackBrush=newSolidBrush(Color.FromArgb(100,0,0,0))){blackgs.FillRectangle(backBrush,0,0,this.Width,this.Height);}}//显示窗体this.Show();//激活当前窗体,使之具有焦点。主要针对win8Metro界面的截图。this.Activate();}//右键点击动作privatevoidCatch_MouseClick(objectsender,MouseEventArgse){if(e.Button==MouseButtons.Right){//开始绘制矩形框前,即初始状态,直接退出截图if(isCatched==false){this.Close();}//若矩形框已绘制,设定状态为初始状态,设定矩形各参数为0,//刷新窗体重绘,以清除已绘制的矩形,重新开始截图,即撤销功能。else{this.isCatched=false;this.isAdjust=false;this.isDraw=false;this.rect=newRectangle(0,0,0,0);this.Refresh();}}}//鼠标左键按下开始截图privatevoidCatch_MouseDown(objectsender,MouseEventArgse){if(e.Button==MouseButtons.Left){//未捕获时,设定状态为允许绘制矩形if(isCatched==false){this.isDraw=true;}else{//捕获完成后在矩形框内按下左键,设置状态为调节矩形框位置和大小//为方便使用,矩形框内外以及边和顶点的判定都为目标附近if(MousePosition.X>rect.Left-3&&MousePosition.X<rect.Right+3&&MousePosition.Y>rect.Top-3&&MousePosition.Y<rect.Bottom+3){this.isAdjust=true;}}//记下鼠标左键按下的坐标,设置显示光标this.CursorLocation();this.mouseDownPoint=newPoint(e.X,e.Y);}}privatevoidCatch_MouseMove(objectsender,MouseEventArgse){//移动鼠标绘制矩形if(this.isDraw==true){//鼠标按下并移动设定状态为已捕获this.isCatched=true;//记录矩形左上角点的坐标PointleftUpPoint=newPoint(this.mouseDownPoint.X,this.mouseDownPoint.Y);if(e.X<this.mouseDownPoint.X)leftUpPoint.X=e.X;if(e.Y<this.mouseDownPoint.Y)leftUpPoint.Y=e.Y;//获取矩形的长和宽intwideth=Math.Abs(this.mouseDownPoint.X-e.X);intheight=Math.Abs(this.mouseDownPoint.Y-e.Y);//防止分辨率为0的截图区域if(wideth==0)++wideth;if(height==0)++height;//记录绘制的矩形this.rect=newRectangle(leftUpPoint.X,leftUpPoint.Y,wideth,height);//刷新窗体,以触发OnPain事件重绘窗体this.Refresh();}//调节矩形框else{if(isCatched==true){//捕获完成,按下左键前显示当鼠标在矩形框上时的形状if(isAdjust==false){this.CursorLocation();}else{//计算调节矩形框的大小和位置PointleftUpPoint=newPoint(this.fixedPoint.X,this.fixedPoint.Y);if(e.X<this.fixedPoint.X)leftUpPoint.X=e.X;if(e.Y<this.fixedPoint.Y)leftUpPoint.Y=e.Y;intwideth=Math.Abs(this.fixedPoint.X-e.X);intheight=Math.Abs(this.fixedPoint.Y-e.Y);switch(mouseLocation){//校正以上计算的矩形框位置以及大小caseMouseLocation.InRectangle:leftUpPoint.X=this.fixedPoint.X+e.X-this.mouseDownPoint.X;leftUpPoint.Y=this.fixedPoint.Y+e.Y-this.mouseDownPoint.Y;wideth=this.rect.Width;height=this.rect.Height;//防止矩形框移出屏幕外if(leftUpPoint.X<0)leftUpPoint.X=0;if(leftUpPoint.Y<0)leftUpPoint.Y=0;if(leftUpPoint.X+wideth>=this.Width)leftUpPoint.X=this.Width-wideth-1;if(leftUpPoint.Y+height>=this.Height)leftUpPoint.Y=this.Height-height-1;break;caseMouseLocation.LeftLine:caseMouseLocation.RightLine:leftUpPoint.Y=this.rect.Y;height=this.rect.Height;break;caseMouseLocation.UpLine:caseMouseLocation.DownLine:leftUpPoint.X=this.rect.X;wideth=this.rect.Width;break;}//防止分辨率为0的截图区域if(wideth==0)++wideth;if(height==0)++height;//改变矩形框,刷新重绘this.rect=newRectangle(leftUpPoint.X,leftUpPoint.Y,wideth,height);this.Refresh();}}}}

解决方案

解决方案二:

//重载OnPaint事件,窗体每次重绘所调用的函数protectedoverridevoidOnPaint(PaintEventArgse){base.OnPaint(e);//防止窗体第一次显示时绘出分辨率显示if(this.rect.Width!=0){//向窗体添加画板,绘制矩形Graphicsgs=e.Graphics;//绘制截屏图片上的矩形框选中部分到当前画板上的矩形框部分,以覆盖黑色遮罩gs.DrawImage(this.originBmp,this.rect,this.rect,GraphicsUnit.Pixel);//定义画笔using(PenlinePen=newPen(Color.FromArgb(255,0,174,255),1)){//绘制矩形gs.DrawRectangle(linePen,this.rect);//绘出线条上的点using(SolidBrushpointBrush=newSolidBrush(Color.FromArgb(255,0,174,255))){//顶点gs.FillRectangle(pointBrush,this.rect.X-2,this.rect.Y-2,4,4);gs.FillRectangle(pointBrush,this.rect.Right-2,this.rect.Y-2,4,4);gs.FillRectangle(pointBrush,this.rect.X-2,this.rect.Bottom-2,4,4);gs.FillRectangle(pointBrush,this.rect.Right-2,this.rect.Bottom-2,4,4);//中点gs.FillRectangle(pointBrush,this.rect.X-2,(this.rect.Y+this.rect.Bottom)/2-2,4,4);gs.FillRectangle(pointBrush,(this.rect.X+this.rect.Right)/2-2,this.rect.Y-2,4,4);gs.FillRectangle(pointBrush,(this.rect.X+this.rect.Right)/2-2,this.rect.Bottom-2,4,4);gs.FillRectangle(pointBrush,this.rect.Right-2,(this.rect.Y+this.rect.Bottom)/2-2,4,4);}}//定义分辨率文字显示背景画刷,ARGB值。using(SolidBrushbackBrush=newSolidBrush(Color.FromArgb(150,0,0,0))){//绘制分辨率文字背景//靠近屏幕上方和右边缘调整背景绘图位置,避免超出屏幕范围if(this.rect.Y<16){if(this.rect.X+70>this.Width-71)gs.FillRectangle(backBrush,this.rect.X-71,this.rect.Y,70,15);elsegs.FillRectangle(backBrush,this.rect.X,this.rect.Y,70,15);}else{if(this.rect.X>this.Width-71)gs.FillRectangle(backBrush,this.rect.X-71,this.rect.Y-16,70,15);elsegs.FillRectangle(backBrush,this.rect.X,this.rect.Y-16,70,15);}}//定义绘制文字字体using(FontdrawFont=newFont("Arial",9)){//定义分辨率文字画刷using(SolidBrushdrawBrush=newSolidBrush(Color.White)){//获取分辨率文字stringratio=this.rect.Width.ToString()+"x"+rect.Height.ToString();//绘制分辨率文字if(this.rect.Y<16){if(this.rect.X>this.Width-71)gs.DrawString(ratio,drawFont,drawBrush,newPoint(this.rect.X-71,this.rect.Y));elsegs.DrawString(ratio,drawFont,drawBrush,newPoint(this.rect.X,this.rect.Y));}else{if(this.rect.X>this.Width-71)gs.DrawString(ratio,drawFont,drawBrush,newPoint(this.rect.X-71,this.rect.Y-16));elsegs.DrawString(ratio,drawFont,drawBrush,newPoint(this.rect.X,this.rect.Y-16));}}}}}

解决方案三:

//重载OnPaint事件,窗体每次重绘所调用的函数protectedoverridevoidOnPaint(PaintEventArgse){base.OnPaint(e);//防止窗体第一次显示时绘出分辨率显示if(this.rect.Width!=0){//向窗体添加画板,绘制矩形Graphicsgs=e.Graphics;//绘制截屏图片上的矩形框选中部分到当前画板上的矩形框部分,以覆盖黑色遮罩gs.DrawImage(this.originBmp,this.rect,this.rect,GraphicsUnit.Pixel);//定义画笔using(PenlinePen=newPen(Color.FromArgb(255,0,174,255),1)){//绘制矩形gs.DrawRectangle(linePen,this.rect);//绘出线条上的点using(SolidBrushpointBrush=newSolidBrush(Color.FromArgb(255,0,174,255))){//顶点gs.FillRectangle(pointBrush,this.rect.X-2,this.rect.Y-2,4,4);gs.FillRectangle(pointBrush,this.rect.Right-2,this.rect.Y-2,4,4);gs.FillRectangle(pointBrush,this.rect.X-2,this.rect.Bottom-2,4,4);gs.FillRectangle(pointBrush,this.rect.Right-2,this.rect.Bottom-2,4,4);//中点gs.FillRectangle(pointBrush,this.rect.X-2,(this.rect.Y+this.rect.Bottom)/2-2,4,4);gs.FillRectangle(pointBrush,(this.rect.X+this.rect.Right)/2-2,this.rect.Y-2,4,4);gs.FillRectangle(pointBrush,(this.rect.X+this.rect.Right)/2-2,this.rect.Bottom-2,4,4);gs.FillRectangle(pointBrush,this.rect.Right-2,(this.rect.Y+this.rect.Bottom)/2-2,4,4);}}//定义分辨率文字显示背景画刷,ARGB值。using(SolidBrushbackBrush=newSolidBrush(Color.FromArgb(150,0,0,0))){//绘制分辨率文字背景//靠近屏幕上方和右边缘调整背景绘图位置,避免超出屏幕范围if(this.rect.Y<16){if(this.rect.X+70>this.Width-71)gs.FillRectangle(backBrush,this.rect.X-71,this.rect.Y,70,15);elsegs.FillRectangle(backBrush,this.rect.X,this.rect.Y,70,15);}else{if(this.rect.X>this.Width-71)gs.FillRectangle(backBrush,this.rect.X-71,this.rect.Y-16,70,15);elsegs.FillRectangle(backBrush,this.rect.X,this.rect.Y-16,70,15);}}//定义绘制文字字体using(FontdrawFont=newFont("Arial",9)){//定义分辨率文字画刷using(SolidBrushdrawBrush=newSolidBrush(Color.White)){//获取分辨率文字stringratio=this.rect.Width.ToString()+"x"+rect.Height.ToString();//绘制分辨率文字if(this.rect.Y<16){if(this.rect.X>this.Width-71)gs.DrawString(ratio,drawFont,drawBrush,newPoint(this.rect.X-71,this.rect.Y));elsegs.DrawString(ratio,drawFont,drawBrush,newPoint(this.rect.X,this.rect.Y));}else{if(this.rect.X>this.Width-71)gs.DrawString(ratio,drawFont,drawBrush,newPoint(this.rect.X-71,this.rect.Y-16));elsegs.DrawString(ratio,drawFont,drawBrush,newPoint(this.rect.X,this.rect.Y-16));}}}}}
解决方案四:

//放开鼠标左键,设置状态privatevoidCatch_MouseUp(objectsender,MouseEventArgse){if(e.Button==MouseButtons.Left){//不允许绘制和调整this.isDraw=false;this.isAdjust=false;}}//鼠标双击复制截图到剪贴板并存储privatevoidCatch_MouseDoubleClick(objectsender,MouseEventArgse){if(e.Button==MouseButtons.Left&&isCatched==true){//新建矩形大小的图片,并作为画板Bitmapbmp=newBitmap(rect.Width,rect.Height);using(Graphicsgs=Graphics.FromImage(bmp)){//从原始截屏图片originBmp上截取指定的矩形部分rect到图片画板bmp的指定部分,单位为像素。gs.DrawImage(this.originBmp,newRectangle(0,0,this.rect.Width,this.rect.Height),this.rect,GraphicsUnit.Pixel);}//复制到剪贴板Clipboard.SetImage(bmp);SaveFile(bmp);}}//储存图片privatevoidSaveFile(Bitmapbmp){//用当前时间作为文件名stringtime=DateTime.Now.ToString();//去除时间中的非法字符stringfilename=null;foreach(charsymbolintime){if(symbol!='/'&&symbol!=':'&&symbol!='')filename+=symbol;}saveFileDialog1.FileName="截图"+filename;if(saveFileDialog1.ShowDialog()==DialogResult.OK){//存储为jpeg或者png格式switch(saveFileDialog1.FilterIndex){case0:bmp.Save(saveFileDialog1.FileName,System.Drawing.Imaging.ImageFormat.Png);break;case1:bmp.Save(saveFileDialog1.FileName,System.Drawing.Imaging.ImageFormat.Jpeg);break;default:bmp.Save(saveFileDialog1.FileName,System.Drawing.Imaging.ImageFormat.Jpeg);break;}}//退出截图this.Close();}//窗口关闭时设置主窗口的截图状态标记privatevoidCatch_Closing(objectsender,EventArgse){SetICSEvent(false);}//判定并记录鼠标与矩形框的位置关系,改变鼠标形状,并记录下矩形框上的一个标记点,//用作计算调节矩形框时矩形框的位置及大小privatevoidCursorLocation(){intmouseX=Control.MousePosition.X;intmouseY=Control.MousePosition.Y;//鼠标在矩形内if(mouseX>rect.Left+2&&mouseX<rect.Right-2&&mouseY>rect.Top+2&&mouseY<rect.Bottom-2){Cursor.Current=Cursors.SizeAll;if(this.isAdjust==true){this.mouseLocation=MouseLocation.InRectangle;this.fixedPoint=newPoint(this.rect.Left,this.rect.Top);}}//鼠标在矩形外elseif(mouseX<rect.Left-2||mouseX>rect.Right+2||mouseY<rect.Top-2||mouseY>rect.Bottom+2){Cursor.Current=Cursors.Default;this.mouseLocation=MouseLocation.OutOfRectangle;}//鼠标在矩形上else{//鼠标在矩形的左边宽以及顶点上if(mouseX>rect.Left-3&&mouseX<rect.Left+3){if(mouseY>rect.Top-3&&mouseY<rect.Top+3){Cursor.Current=Cursors.SizeNWSE;if(this.isAdjust==true){this.mouseLocation=MouseLocation.LeftUpPoint;this.fixedPoint=newPoint(this.rect.Right,this.rect.Bottom);}}elseif(mouseY>rect.Bottom-3&&mouseY<rect.Bottom+3){Cursor.Current=Cursors.SizeNESW;if(this.isAdjust==true){this.mouseLocation=MouseLocation.LeftDownPoint;this.fixedPoint=newPoint(this.rect.Right,this.rect.Top);}}else{Cursor.Current=Cursors.SizeWE;if(this.isAdjust==true){this.mouseLocation=MouseLocation.LeftLine;this.fixedPoint=newPoint(this.rect.Right,this.rect.Top);}}}//鼠标在矩形的右边宽以及顶点上elseif(mouseX>rect.Right-3&&mouseX<rect.Right+3){if(mouseY==rect.Top){Cursor.Current=Cursors.SizeNESW;if(this.isAdjust==true){this.mouseLocation=MouseLocation.RightUpPoint;this.fixedPoint=newPoint(this.rect.Left,this.rect.Bottom);}}elseif(mouseY>rect.Bottom-3&&mouseY<rect.Bottom+3){Cursor.Current=Cursors.SizeNWSE;if(this.isAdjust==true){this.mouseLocation=MouseLocation.RightDownPoint;this.fixedPoint=newPoint(this.rect.Left,this.rect.Top);}}else{Cursor.Current=Cursors.SizeWE;if(this.isAdjust==true){this.mouseLocation=MouseLocation.RightLine;this.fixedPoint=newPoint(this.rect.Left,this.rect.Top);}}}//鼠标在矩形的长上else{if(mouseY>rect.Top-3&&mouseY<rect.Top+3){Cursor.Current=Cursors.SizeNS;if(this.isAdjust==true){this.mouseLocation=MouseLocation.UpLine;this.fixedPoint=newPoint(this.rect.Left,this.rect.Bottom);}}else{Cursor.Current=Cursors.SizeNS;if(this.isAdjust==true){this.mouseLocation=MouseLocation.DownLine;this.fixedPoint=newPoint(this.rect.Left,this.rect.Top);}}}}}//按下ESC键退出截图privatevoidCatch_KeyDown(objectsender,KeyEventArgse){if(e.KeyValue==27){this.Close();}}}}

解决方案五:
支持一下,不过希望你能突出重点,而不是什么代码都往上贴。整理出核心代码,你的收获以及和大家分享的经验恐怕更好。
解决方案六:
引用4楼的回复:

支持一下,不过希望你能突出重点,而不是什么代码都往上贴。整理出核心代码,你的收获以及和大家分享的经验恐怕更好。

再加一句上代码的时候最好用上这个东西不然代码多了看都懒得看而且缩进也没有

解决方案七:
代码可读性很差,你需要在一个团队里去提高自己
解决方案八:
写的很好,就是代码太长了。代码最好分类、什么是事件、什么是方法。归整一下
解决方案九:
屋顶上的女孩
解决方案十:
引用4楼的回复:

支持一下,不过希望你能突出重点,而不是什么代码都往上贴。整理出核心代码,你的收获以及和大家分享的经验恐怕更好。

楼主插入源代码好了一点
解决方案十一:
整套代码完整贴出来,对于需要的人来说是不错的。很快就运行成功,然后就可以在上面修修改改来测试一些想法。并且楼主程序主要表现的是一些细节,如果只是贴出核心代码就反应不出这些细节了。
解决方案十二:
LZ用了代码工具,但是没有把代码放在里面。
解决方案十三:
建议放到博客里面
解决方案十四:
哈哈哈,头像不错
解决方案十五:
牛逼啊学C#一周就能做出来..我连学习工作玩了5年半也写不出来啊..
解决方案:
引用5楼crystal_lz的回复:

[Quote=引用4楼的回复:]支持一下,不过希望你能突出重点,而不是什么代码都往上贴。整理出核心代码,你的收获以及和大家分享的经验恐怕更好。

再加一句上代码的时候最好用上这个东西不然代码多了看都懒得看而且缩进也没有

其实楼主已经加了

只是不知道代码要放到里面。。。
解决方案:
支持,技巧方面的东西,多多混CSDN就熟悉了

时间: 2024-07-28 18:20:32

自己写的C#截图工具的相关文章

命令行下的2款网页截图工具推荐_相关技巧

现在很多浏览器或浏览器工具栏.插件都提供网页截图的功能,不过大多数都需要鼠标或键盘手工操作,而不能通过命令行自动化完成.有时我们可能需要每天定时对某些网页截图,或者批量地对多个URL截图,这时这些的需要手工操作的截图工具或插件就有一点不够用了.不过幸运的是,有一些免费的可以通过命令行方式操作的网页截屏软件或浏览器插件可以帮我们解决这个问题,下面介绍两款我经常使用的. 第一款是IECapt,官方主页在 http://iecapt.sourceforge.net/ ,这是一个免费开源的软件,有C++

如何快速调用Win7系统截图工具

  工作中常用到截图工具,而win7自带的截图工具就非常好用,但是如果你不会设置就难说了,调用的时候非常麻烦,我们需要点击开始--附件--截图工具.有没有更简单的调用方法呢? 1.首先单击开始--所有程序. 2.找到附件,打开. 3.右键单击截图工具,选择属性. 4.点击快捷方式,看到目标栏中的地址,我们复制这个地址. 5.我们在桌面上右键单击,选择新建--快捷方式. 6.在弹出的对话框中输入刚才复制的地址. 7.命名这个快捷方式为截图工具.点击完成.我们就建好了一个截图工具的快捷方式.这样基本

Win7截图工具的快捷操作方法

  现在越来越多的人都会使用到截图功能,有的时候继续使用的时候,在去网络中下载是一键非常麻烦的事.很多情况下我们的用户都会使用QQ登陆,来对自己需要的图片来进行截图.但是如果突然断网了,或者是说网络没有信号了,那我们怎么办呢.在win7系统下就有一个很实用的自带的系统截图工具,帮助用户截取图片,是个方便.快捷的截图工具. 便捷使用win 7截图工具小攻略: 1.首先单击开始--所有程序. 2.找到附件,打开. 3.右键单击截图工具,选择属性. 4.点击快捷方式,看到目标栏中的地址,我们复制这个地

网页截图工具php+IECapt简介

IECapt可以将捕获网页,生成BMP.JPEG 或 PNG格式的图片,包含C++和C#两种版本,不足是依赖于Internet Explorer,这就决定了它只能在Windows下使用.IECapt是一个命令行工具,通过指定的url,利用ie内核,即可将其图片截取下来. 操作: 第一步: 下载地址IECapt :http://download.csdn.net/detail/u011986449/6877893 第二步: 如下代码: <?php header('Content-type:text

Windows 7截图工具教程

最近在朋友的劝说下换了Windows7系统,刚开始用起来还不是很习惯,但随着 渐渐地深入了解,初始的不适应感完全被Windows7的人性化设计所替代.没用过 Windows7之前一直觉得,Windows7只不过是在外观上比XP漂亮些罢了,但现在体 验过才知道自己真的是错误估计Windows7了.因为工作关系经常都需要截图保存 ,所以截图工具是电脑上必备的软件之一,后来在使用Windows7的时候发现系统 自带的截图功能相当好用,这下又省去安装截图工具了. 使用Win7截图功 能很简单,首先依次单

怎样使用Windows7截图工具

现在截图工具有很多,但都要安装软件的,或要开启某软件才可以用的,最近发现Windows7很人性化,自带了截图软件,也免去我们安装别的软件了. 步骤方法 1.首先依次单击开始菜单/附件/截图工具,即可启动截图工具. 2.在截图工具的界面上单击新建按钮右边的小三角按钮,在弹出的下拉菜单中选择截图模式,有四种选择:任意格式图标.矩形截图.窗口截图和全屏幕截图,四种模式任你所选. 3.还可以采用Windows7命令来启动截图工具,打开运行输入SnippingTool就可启动截图工具.Windows7的截

玩Win7自带截图工具 任意形状随心裁

使用电脑的时候,我们常常会需要用到截图,如果手边暂时没有截图软件,是不是就束手无策了呢?在Windows XP中我们可以用快捷键来做截屏,按下"Print Screen"键可做做全屏截屏,按下"Alt + Print Screen"组合键可以截取当前活动窗口,按下"Ctrl+Alt+A"组合键可以拖动鼠标截取矩形图片.不过这些操作都是把图片保存在剪贴板上,还必须打开画图或者别的软件,按"Ctrl+V"才能把截图粘贴进去,稍显麻

用Win7截图工具截取菜单

小白最近在使用Word软件时遇到了一些问题,想通过百度知道向大家求助,但这个问题只用文字很不容易描述清楚,所以小白想把问题截图发上来.从Win7系统中找出自带的截图工具后,小白便开始截图,不过,问题又来了.Win7的截图工具在使用时需要点击一下"新建"按钮,再用鼠标截取需要的部分,但小白需要截图的位置是个弹出式菜单,展开菜单后,再去点击"新建"按钮,菜单就自动收回去了,根本截不了图. 其实,此时小白只要换一种截图方法,就可以截取弹出式菜单了.注意,是换一种方法,并不

Windows7截图工具截出个性

最近在朋友的劝说下换了Windows7系统,刚开始用起来还不是很习惯,但随着渐渐地深入了解,初始的不适应感完全被Windows7的人性化设计所替代.没用过Windows7之前一直觉得,Windows7只不过是在外观上比XP漂亮些罢了,但现在体验过才知道自己真的是错误估计Windows7了.因为工作关系经常都需要截图保存,所以截图工具是电脑上必备的软件之一,后来在使用Windows7的时候发现系统自带的截图功能相当好用,这下又省去安装截图工具了. 使用Win7截图功能很简单,首先依次单击开始菜单/