资源简介
一款很好用的屏幕截图程序,包含全部源代码。支持鼠标操作,支持局部截图。截图功能基本和QQ截图类似,可以拖动边框,改变边框大小。用Visual Studio 2010 开发,语言为C#。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.Regularexpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ScreenShot
{
//定义委托
public delegate void SetICS(bool isScreenShot);
public partial class Catch : Form
{
//鼠标位置的枚举
private enum MouseLocation
{
LeftUpPointLeftDownPointRightUpPointRightDownPointLeftLineRightLineUpLineDownLine
InRectangleOutOfRectangle
}
private MouseLocation mouseLocation;
//定义该委托的事件
public event SetICS SetICSEvent;
//截屏原始图片
private Bitmap originBmp;
//鼠标左键按下的坐标
private Point mouseDownPoint;
//调节截图框时的固定不动点
private Point fixedPoint;
//是否允许绘制矩形截图状态
private bool isDraw;
//截图完成状态
private bool isCatched;
//是否允许调节矩形框
private bool isAdjust;
//绘制的截图矩形框
private Rectangle rect;
public Catch()
{
InitializeComponent();
}
//将当前屏幕截图,显示到全屏无标题栏窗体上
private void Catch_Load(object sender EventArgs e)
{
//设置截图状态为开始
SetICSEvent(true);
//隐藏窗体,保证截屏图片为当前屏幕而不是被窗体覆盖
this.Hide();
//以当前窗口大小(窗口默认最大化,即全屏)创建截屏空白图片
this.originBmp = new Bitmap(this.Widththis.Height );
//以截屏图片作为画板
using (Graphics gs = Graphics.FromImage(originBmp))
{
//复制当前屏幕到画板上,即将截屏图片的内容设置为当前屏幕
gs.CopyFromScreen(0 0 0 0 this.Size);
}
//将截屏图片设为窗体背景
this.BackgroundImage = new Bitmap(this.originBmp);
//添加截屏时的黑色遮罩,即在窗体背景上绘制全屏半透明黑色填充矩形
using (Graphics blackgs = Graphics.FromImage(this.BackgroundImage))
{
using (SolidBrush backBrush = new SolidBrush(Color.FromArgb(100 0 0 0)))
{
blackgs.FillRectangle(backBrush 0 0 this.Width this.Height);
}
}
//显示窗体
this.Show();
//激活当前窗体,使之具有焦点。主要针对win8 Metro界面的截图。
this.Activate();
}
//右键点击动作
private void Catch_MouseClick(object sender MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
//开始绘制矩形框前,即初始状态,直接退出截图
if (isCatched == false)
{
this.Close();
}
//若矩形框已绘制,设定状态为初始状态,设定矩形各参数为0,
//刷新窗体重绘,以清除已绘制的矩形,重新开始截图,即撤销功能。
else
{
this.isCatched = false;
this.isAdjust = false;
this.isDraw = false;
this.rect =
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 99678 2012-10-04 23:17 ScreenShot\34.ico
文件 167 2016-05-26 22:50 ScreenShot\App.config
文件 1819 2016-05-26 22:52 ScreenShot\bin\Debug\CatchScreen.application
文件 522752 2016-05-26 22:52 ScreenShot\bin\Debug\CatchScreen.exe
文件 167 2016-05-26 22:50 ScreenShot\bin\Debug\CatchScreen.exe.config
文件 4916 2016-05-26 22:52 ScreenShot\bin\Debug\CatchScreen.exe.manifest
文件 50688 2016-05-26 22:52 ScreenShot\bin\Debug\CatchScreen.pdb
文件 1819 2016-05-26 22:52 ScreenShot\bin\Debug\CatchScreen.vshost.application
文件 167 2016-05-26 22:50 ScreenShot\bin\Debug\CatchScreen.vshost.exe.config
文件 4916 2016-05-26 22:52 ScreenShot\bin\Debug\CatchScreen.vshost.exe.manifest
文件 187 2012-10-03 16:48 ScreenShot\bin\Debug\GDI.vshost.exe.config
文件 490 2012-06-02 22:34 ScreenShot\bin\Debug\GDI.vshost.exe.manifest
文件 1815 2016-05-26 23:00 ScreenShot\bin\Debug\ScreenShot.application
文件 522752 2016-05-26 23:00 ScreenShot\bin\Debug\ScreenShot.exe
文件 167 2016-05-26 22:50 ScreenShot\bin\Debug\ScreenShot.exe.config
文件 4910 2016-05-26 23:00 ScreenShot\bin\Debug\ScreenShot.exe.manifest
文件 44544 2016-05-26 23:00 ScreenShot\bin\Debug\ScreenShot.pdb
文件 11592 2016-05-26 22:59 ScreenShot\bin\Debug\ScreenShot.vshost.exe
文件 167 2016-05-26 22:50 ScreenShot\bin\Debug\ScreenShot.vshost.exe.config
文件 21974 2016-05-26 23:00 ScreenShot\Catch.cs
文件 3009 2016-05-26 23:00 ScreenShot\Catch.Designer.cs
文件 155840 2012-10-06 15:27 ScreenShot\Catch.resx
..A..H. 26624 2016-05-26 23:00 ScreenShot\CatchScreen.suo
文件 1628 2012-10-06 16:17 ScreenShot\CatchScreen_TemporaryKey.pfx
文件 759 2016-05-26 23:00 ScreenShot\HotKey.cs
文件 843 2016-05-26 23:00 ScreenShot\Instruction.cs
文件 6183 2016-05-26 23:00 ScreenShot\Instruction.Designer.cs
文件 155637 2012-10-06 14:11 ScreenShot\Instruction.resx
文件 4265 2016-05-26 23:00 ScreenShot\MainForm.cs
文件 5899 2016-05-26 23:00 ScreenShot\MainForm.Designer.cs
............此处省略52个文件信息
- 上一篇:三轴运动控制C#
- 下一篇:WPF中绘制3D地表图,效果和matlab类似
相关资源
- 三轴运动控制C#
- 工厂用来测试键盘好坏的的一个软件
- C#贪食蛇全能版
- C# 爬虫接口
- C#网络监控软件代码
- 字符串加密与解密C#源码
- C# Socket 分包传送数据
- C#编写的模拟操作系统虚拟内存分页请
- C#实现简单的Socket文件传输
- C#与Halcon联合编程,实现窗口鼠标滚轮
- asp.netC#定时发送邮件
- win7 win8 C# 音量控制 Volume
- TEA加密解密器C#开发
- 三层结构MVCC#框架
- C#笔试题 各大公司迅雷,腾讯,华为
- c#计算器实现 仿windows计算器
- 104协议dll源代码C#
- 101协议dll源码C#
- C#编写登录窗体,连接SQL,有登录、注
- c# TXT操作总结
- C#流程图绘制Netron Light
- c#文件发送一个服务器多个客户端
- C#文件夹的操作遍历文件夹
- c#调用微信扫一扫功能等
- C# 仓库管理系统 (C#)
- C#开发大全(基础卷)源码+C#开发大全
- c# 实现动态柱状图
- c#入门经典 第六版 地址 百度网盘
- testListBoxApp.rar
- 开源项目图片浏览查看wpf编码
评论
共有 条评论