因为近来想写个类似于远程桌面监控的程序,该程序中要用到屏幕捕捉.为实现该程序的一部分功能,做了个小DEMO.程序很简单,用到的技术也不多,只能实现类似qq的截图功能(方法虽然很笨)
程序流程如下:
1.截取整个屏幕并保存
2.新开一个全屏窗口,将保存的屏幕作为背景
3.鼠标拖动改变截取范围,右键取消
4.双击截取,保存在粘贴板,全屏窗口关闭
好了,下面的是代码部分
首先新建一个项目ScreenCutter(VS2005),将窗体名改为MainForm,再新建一个窗体ScreenBody.
添加一个按钮btnCutter到ScreenCutter并添加按钮事件:
private void btnCutter_Click(object sender, EventArgs e)
{
Image img = new Bitmap(Screen.AllScreens[0].Bounds.Width, Screen.AllScreens[0].Bounds.Height);
Graphics g = Graphics.FromImage(img);
g.CopyFromScreen(new Point(0, 0), new Point(0, 0), Screen.AllScreens[0].Bounds.Size);
ScreenBody body = new ScreenBody();
body.BackgroundImage = img;
body.Show();
}Screen.AllScreens[0]是获取当前所有设备窗口的第一个,我这里只有一个显示器,当然我就是第一个.
利用Graphics的CopyFromScreen函数获取当前屏幕.
好了,现在按下按钮全屏窗口就会出来了.
下面讲全屏窗口ScreenBody,首先设置窗体的FormBorderStyle为None,然后声明以下变量
private Graphics MainPainter; //主画笔
private Pen pen; //就是笔咯
private bool isDowned; //判断鼠标是否按下
private bool RectReady; //矩形是否绘制完成
private Image baseImage; //基本图形(原来的画面)
private Rectangle Rect; //就是要保存的矩形
private Point downPoint; //鼠标按下的点
int tmpx;
int tmpy;
之后就是窗体的鼠标函数了,里面很多代码都没有作出整理,看了一下,整理后的代码应该会更少更精简的
private void ScreenBody_DoubleClick(object sender, EventArgs e)
{
if (((MouseEventArgs)e).Button == MouseButtons.Left &&Rect.Contains(((MouseEventArgs)e).X, ((MouseEventArgs)e).Y))
{
//保存的时候有很多种方法的......我这里只用了这种
Image memory = new Bitmap(Rect.Width, Rect.Height);
Graphics g = Graphics.FromImage(memory);
g.CopyFromScreen(Rect.X + 1, Rect.Y + 1, 0, 0, Rect.Size);
Clipboard.SetImage(memory);
- getscreen > 因为近来想写个类似于远程桌面监控的程序
-
因为近来想写个类似于远程桌面监控的程序
下载该文档 文档格式:DOC 更新时间:2007-07-04 下载次数:0 点击次数:1文档基本属性 文档语言: Simplified Chinese 文档格式: doc 文档作者: harve 关键词: 主题: 备注: 点击这里显示更多文档属性 经理: 单位: CURIO 分类: 创建时间: 上次保存者: 修订次数: 编辑时间: 文档创建者: 修订: 加密标识: 幻灯片: 段落数: 字节数: 备注: 演示格式: 上次保存时间:
- 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
- DOC格式下载
- 更多文档...
-
上一篇:远程屏幕图象实时传输的原理与实现
下一篇:编程中"流"的应用
点击查看更多关于getscreen的相关文档
- 您可能感兴趣的
- getscreen下载 getscreen错位 googlegetscreen getscreen出错 getscreen教程 getscreenv1.5.0.0 getscreen怎么用 getscreen1.5 getscreenv1.5 getscreen上帝之眼
- 大家在找
-
- · 国际商法是什么
- · 321h.pw
- · 进网作业电工培训中心
- · 蚁群算法pptpdf
- · 青春舞曲音乐教案ppt
- · 复合材料力学课件
- · 中国硬笔书法协会主席
- · atix300显卡
- · httpeasoucom小说
- · 常州监狱公务员待遇
- · 成都数控车工招聘
- · 寻找17岁单身帅哥
- · 深圳石岩创维
- · 网上填报志愿草表
- · 小学语文古诗说课稿
- · vc6.0下载win7可用
- · 梁建科院长
- · 幼儿教师论文范文
- · 英语六级报名
- · lcd10781
- · 电工学电子书
- · 砌筑工教案
- · 手机电子书jar下载
- · 连云港信息港
- · 高速光电子学
- · 北京大学2012法律硕士
- · 金华赶集网招聘
- · 青州市卫生局
- · 二级c语言模拟试题
- · 平朔煤矸石电厂
- 赞助商链接