C#软件开发实例.私人订制自己的屏幕截图工具(一)功能概览
本实例全部文章目录
(一)功能概览
(二)创建项目、注册热键、显示截图主窗口
(三)托盘图标及菜单的实现
(四)基本截图功能实现
(五)针对拖拽时闪烁卡顿现象的优化
(六)添加配置管理功能
(七)添加放大镜的功能
(八)添加键盘操作截图的功能
(九)使用自定义光标,QQ截图时的光标
(十)在截图中包含鼠标指针形状
概述
开发该软件的原因主要是想订制实现自己想要的功能,比如:自动保存,气泡提示框类型的标注功(主要用于功能说明文档的写作)能。
托盘图标及菜单
添加托盘图标,是因为有些功能还是需要使用菜单呼出,不能什么都用快捷键。
有些东西(菜单、提示框)可能通过快捷键截图的时候截取不到,所以设置了“延时5秒截图”功能。
基本设置
QQ的截图热键是“Ctrl + Alt + A”,为了不和它冲突,这里默认使用“Ctrl + Shift + A”作为快捷键。
有些时候我们是希望截图中包含鼠标指针形状的,这里可以设置是否包含。
自动上传
如果你希望将截图自动上传到某个网站上,可以启用该功能,目前还不完善,需要进一步开发。
自动保存
自动保存是目前必备的功能,您可以设置存储的目录及子目录,以及文件的命名规则。
截图信息栏、编辑工具栏
标注工具
上传图片
放大镜功能
键盘控制截图功能
有时候我们需要精确的截取小图标之类的图片,使用鼠标操作的话很难精确到每一个像素,使用键盘操作的话,就很容易实现了。
操作方法一:
1、进入截图状态,鼠标移动到大概的位置;
2、使用上下左右键移动鼠标指针到确定的位置;
3、同时按下“Shift + Enter”开始截图;
4、使用上下左右键设置截图区域大小;
操作方法二:
1、和平时截图一样,先截取一个大概的区域;
2、使用上下左右键设置截图区域的位置;
3、使用“Shift + 上下左右键”设置截图区域大小;
源码下载:
【拥抱开源】十年之做C#屏幕截图工具全面开源
C#软件开发实例.私人订制自己的屏幕截图工具(一)功能概览相关推荐
- C#软件开发实例.私人订制自己的屏幕截图工具——放大镜的功能代码优化
最近在使用屏幕截图工具的时候发现放大镜的功能有点小问题,准星和实际鼠标位置对不上,取到的颜色并不鼠标所在的点颜色,所以去看"C#软件开发实例.私人订制自己的屏幕截图工具(七)添加放大镜的功能 ...
- C#软件开发实例.私人订制自己的屏幕截图工具(七)添加放大镜的功能
本实例全部文章目录 (一)功能概览 (二)创建项目.注册热键.显示截图主窗口 (三)托盘图标及菜单的实现 (四)基本截图功能实现 (五)针对拖拽时闪烁卡顿现象的优化 (六)添加配置管理功能 (七)添加 ...
- C#软件开发实例.私人订制自己的屏幕截图工具(九)使用自定义光标,QQ截图时的光标
本实例全部文章目录 (一)功能概览 (二)创建项目.注册热键.显示截图主窗口 (三)托盘图标及菜单的实现 (四)基本截图功能实现 (五)针对拖拽时闪烁卡顿现象的优化 (六)添加配置管理功能 (七)添加 ...
- C#软件开发实例.私人订制自己的屏幕截图工具(十)在截图中包含鼠标指针形状
本实例全部文章目录 (一)功能概览 (二)创建项目.注册热键.显示截图主窗口 (三)托盘图标及菜单的实现 (四)基本截图功能实现 (五)针对拖拽时闪烁卡顿现象的优化 (六)添加配置管理功能 (七)添加 ...
- C#软件开发实例.私人订制自己的屏幕截图工具(十)在截图中包括鼠标指针形状...
本实例所有文章文件夹 (一)功能概览 (二)创建项目.注冊热键.显示截图主窗体 (三)托盘图标及菜单的实现 (四)基本截图功能实现 (五)针对拖拽时闪烁卡顿现象的优化 (六)加入配置管理功能 (七)加 ...
- Android软件开发实例:用客户端写博客
标题:在Android上通过客户端写博客软件开发实例 作者:肖凤斌 binsweet@gmail.com 关注Android很久了,年初买了G4,但一直没有机会尝试Android上的软件开发. 自己有 ...
- openCPU-EC600简介与软件开发实例小结
openCPU-EC600简介与软件开发实例小结 咸鱼NO FASHION EC600系列包含EC600S.EC600N.EC600U等.具体差异如下: 1.EC600S包含2G+4G,单4G模组(9 ...
- 详解AUTOSAR:汽车软件开发V模型过程中AUTOSAR工具链的应用(工具篇—1)
目录 1.PREEvision 2.vVIRTUALtarget 3.DaVinci Developer 4.DaVinci Configurator 5.CANoe 6.VT System 7.CA ...
- Vue开发实例(20)之实现登录功能
引言 Vue是现在前端最流行的框架之一,作为前端开发人员应该要熟练的掌握它,如果你是打算学习Vue的开发流程,那么来吧,明哥带你快速上手.带你飞! 即使你并非前端开发人员,对前端的开发流程进行一定的了 ...
最新文章
- 电话号码正则表达式键盘弹起验证
- Java的后缀分类_java数据类型扩展及相应的面试题
- 手机游戏繁荣时代,团队的N条死路
- transient关键字的作用_ArrayList Vector (transient关键字)--JAVA成长之路
- 整理javascript操作文件说明.
- php程序访问mysql数据实现查询_PHP+MySql实现后台数据的读取
- OpenCV-自适应阈值函数cv::adaptiveThreshold
- python工程师干什么的_Python就业前景和工资待遇分析,你学Python了吗?
- python 城市地图_使用底图获取城市地图的最佳方法? - python
- linux 合并文本文件,Shell脚本合并文本文件
- html 一键转发微信朋友圈,微信公众号H5,分享朋友,分享朋友圈处理
- SPSS回归分析案例
- swift ring
- Android8.0 WIFI ap Tethering 相关知识
- stm32f103mini IO
- CFileDialog控件ID值
- Linux学习笔记—Apache
- 预定租房协议百度云下载
- python中getattr()和setattr()的使用
- 【React】Antd实现表格序号递增
热门文章
- Command python setup.py egg_info failed with error code 1 in /tmp/pip-build-GVQWxt/ipython/
- 软件测试 - 基础理论篇
- 山西上党残疾夫妻用串珠手艺串起“脱贫路”
- JDK8特性函数式接口与Stram流
- Flink JDBCOutputFormat
- 怎样去掉视频片头片尾?教你用最简单的方法轻松剪辑
- 基于mpvue框架搭建微信小程序开发环境
- mysql插入多行数据来自另一张表_mysql从一张表查询批量数据并插入到另一表中的完整实例...
- 关于友盟Open API接口调用
- Bootstrap-table序号生成