用C#实现截图功能(3)(类似QQ截图)

2,建立截图主窗口

核心类MyRectangle已经完成,剩下的工作就是使用改类实现预想的截图功能。

用VS2005 新建Project,命名为ScreenCutter。将主窗口命名为MainForm,新建一个窗口命名为ScreenBody,将其 ShowInTaskbar属性设置为False,TopMost属性设置为True,FormBorderStyle属性设置为None,在 ScreenBody上添加一个panel控件panel1,设置BackColor属性为蓝色,在panel1上添加相应个数的label,如 labelLocation、labelWidth、labelHeight等,用于指示当前选区位置和大小,panel1最终样式为:

修改ScreenBody的引用命名空间为:

using System;
using System.Drawing;
using System.Windows.Forms;
在ScreenBody类中添加如下私有成员:
    private Graphics MainPainter; //the main painter
    private bool isDowned; //check whether the mouse is down
    private bool RectReady; //check whether the rectangle is finished
    private Image baseImage; //the back ground of the screen
    private Point moveModeDownPoint; //the mouse location when you move the rectangle
    private MyRectangle myRectangle; //the rectangle
    private bool moveMode; //check whether the rectangle is on move mode or not
    private bool changeSizeMode; //check whether the rectangle is on change size mode or not

修改ScreenBody构造函数:

public ScreenBody()
    {
      InitializeComponent();
      panel1.Location = new Point(this.Left, this.Top);
      myRectangle = new MyRectangle();
      moveModeDownPoint = new Point();
      this.Cursor = myRectangle.MyCursor;
    }

时间: 2024-10-25 19:28:46

用C#实现截图功能(3)(类似QQ截图)的相关文章

用C# 实现截图功能(2)(类似QQ截图)

503 /// Gets or sets the width of the 8 little rectangles 504 /// (rectangles that on the 4 corners and the 4 middle points that of the 4 lines of the main rectangle) 505 /// </summary> 506 public int LittleRectangleWidth 507 { 508 get { return litt

android回复功能(类似QQ空间的回复功能)如何实现

问题描述 android回复功能(类似QQ空间的回复功能)如何实现 android仿QQ空间回复功能(越详细越好),有demo更好,还有输入法上面的对话框是怎么弄出来的,直接调用系统的,并没有上面的输入框 解决方案 楼主实现了没,求指导! 解决方案二: 楼主 类似于qq空间的回复功能,就是回复的时候可以看到是对谁进行回复的 是怎么实现的? 解决方案三: 楼主实现了没,求指导!求demo 646869341@qq.com

用C# 实现截图功能(1)(类似QQ截图)

概述: 在公司,不能自己安装软件,也不能下载,但有时候需要截图.用PrintScreen键只能截取全屏,感觉很麻烦.于是决定自己编写一个截图工具. 众所周知,QQ截图首先将截取全屏为一个图片,然后用在这个图片基础上截取需要的部分.本程序实现方法类似. 程序运行截图如下: 图中心矩形为即将截取区域 程序很粗糙,希望大家提出宝贵意见. 1,自定义矩形类MyRectangle 在QQ截图程序中,用户用鼠标绘制出的截图区域是可调整大小和位置的,在4个边的中点和4个顶点各有一个小矩形标记.(如图所示) .

java如何实现视频语音功能类似QQ视频通话

问题描述 拜托各位大虾:由于项目需要,需要在web页面实现视频语音功能,类似QQ视频通话,如何可能还需要远程控制客户页面操作.急急急,在线等. 解决方案 解决方案二:这得涉及到socket编程

Java模拟QQ桌面截图功能实现方法_java

本文实例讲述了Java模拟QQ桌面截图功能实现方法.分享给大家供大家参考.具体如下: QQ的桌面截图功能非常方便,去年曾用Java模拟过一个,现整理出来. 本方法首先需要抓到屏幕的整个图象,将图象显示在一个JFrame中,再将JFrame全屏显示,这样就模拟出了一个桌面,Java也就可以获得鼠标的作用区域从而实现桌面中的小范围截屏. import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import

整蛊QQ截图

昨天看到有一个朋友自己实现了类似QQ截图的功能,于是把QQ截图的 DLL 翻出来,简单测试了一下,发现一些不常见的小功能也许对大家有用.这里使用 RTX(腾讯的另一个软件产品) 中自带的 camerawnd.dll, 和QQ的很相似. 第一步:用 vc 自带的 DEPENDS.EXE 察看 DLL 的导出函数,有以下三个 CameraSubArea,CameraWndArea,CameraScreen 从字面意思看,第一个是截取子范围的,第二个是截取窗口范围的,第三个是截屏的现在还不知道函数参数

VBS实现截图功能_vbs

百度说,VBS很难截图,倒是有个利用第三方软件的方法,调用该软件,然后该软件会自动截图. 但这样,违背了用VBS的初衷. 用VBS就是因为它方便快捷.要是用第三方软件的话,干脆我们直接用VB写一个好了. 那么...只好调用Excel用VBA去做了. 有什么更好的方法吗? 在度娘上翻了很久,没有什么好方法,因为实现截屏原本就不是微软设计vbs的初衷,更多的扩展功能是使用者的意愿,所以才会有第三方的出现,实际vbs调用vba也是这种方式,利用的是vba能调用API的特性,查了下网上的代码,调用的是U

asp.net 实现个人简介的修改,类似QQ个人档的修改

问题描述 我想要实现的功能是类似QQ空间里面个人档的类似效果,点击修改前是:点击修改后是想要实现类似效果,用AJAX能实现吗,思路是什么?我确实没有分,不好意思,刚用这个网站,学生党 解决方案 解决方案二:用AJAX肯定能实现的点击修改,ajax从后台取出数据填到html控件里面,点击保存再把修改后的数据通过ajax保存到数据库,基本上就是这样做的解决方案三:两个页面.一个是没改预览的.一个是点击修改后的页面.默认读取第一个页面.点击修改读取第二个页面.页面的内容根据前面指定人的id生成.我是这

C#软件开发实例.私人订制自己的屏幕截图工具(九)使用自定义光标,QQ截图时的光标

在使用QQ的截图功能的时候,是不是觉得它的光标很酷呢?今天就说一下怎么应用自定义光标,在我们的截图工具中使用QQ截图的光标. 打开资源: 切换到文件资源视图: 打开资源文件目录,将光标文件复制到此目录下: 所需光标文件下载:C#软件开发实例.私人订制自己的屏幕截图工具中使用的光标文件 选中Resources目录,刷新,显示出刚刚复制进来的光标文件: 选中光标文件,拖动到资源的文件视图中: 资源资源名称中的单词第一个字母改为大写. 光标预览: 在Form1类中添加私有变量: #region 自定义