C#来捕获屏幕(2)--源程序代码
来源:互联网 发布:同步带轮选型软件 编辑:程序博客网 时间:2024/05/22 03:27
三. 用C#来捕获屏幕的源程序代码(Capture.cs):
了解上面的这些步骤的实现方法,就可以得到用C#捕获屏幕的源程序,如下:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Drawing.Imaging;
namespace WindowsApplication3
{
public partial class Form1 : Form
{
private Button button1;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
button1 = new Button();
SuspendLayout();
button1.Location = new System.Drawing.Point(64, 40);
button1.Name = "button1";
button1.Size = new System.Drawing.Size(80, 32);
button1.TabIndex = 0;
button1.Text = "捕获";
button1.Click += new System.EventHandler(button1_Click);
AutoScaleBaseSize = new System.Drawing.Size(6, 14);
ClientSize = new System.Drawing.Size(216, 125);
Controls.Add(button1);
MaximizeBox = false;
MinimizeBox = false;
Name = "Form1";
Text = "C#捕获当前屏幕!";
ResumeLayout(false);
}
//声明一个API函数
[System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")]
private static extern bool BitBlt(
IntPtr hdcDest, // 目标 DC的句柄
int nXDest,
int nYDest,
int nWidth,
int nHeight,
IntPtr hdcSrc, // 源DC的句柄
int nXSrc,
int nYSrc,
System.Int32 dwRop // 光栅的处理数值
);
private void button1_Click(object sender, System.EventArgs e)
{
//获得当前屏幕的大小
Rectangle rect = new Rectangle();
rect = Screen.GetWorkingArea(this);
//创建一个以当前屏幕为模板的图象
Graphics g1 = this.CreateGraphics();
//创建以屏幕大小为标准的位图
Image MyImage = new Bitmap(rect.Width, rect.Height, g1);
Graphics g2 = Graphics.FromImage(MyImage);
//得到屏幕的DC
IntPtr dc1 = g1.GetHdc();
//得到Bitmap的DC
IntPtr dc2 = g2.GetHdc();
//调用此API函数,实现屏幕捕获
BitBlt(dc2, 0, 0, rect.Width, rect.Height, dc1, 0, 0, 13369376);
//释放掉屏幕的DC
g1.ReleaseHdc(dc1);
//释放掉Bitmap的DC
g2.ReleaseHdc(dc2);
//以JPG文件格式来保存
MyImage.Save(@"c:/Capture.jpg", ImageFormat.Jpeg);
MessageBox.Show("当前屏幕已经保存为C盘的capture.jpg文件!");
}
}
}
从指定的 Image 创建新的 Graphics。
命名空间:System.Drawing程序集:System.Drawing(在 system.drawing.dll 中)
- C#来捕获屏幕(2)--源程序代码
- 用C#来捕获屏幕的源程序代码
- 用C#来捕获屏幕 (ZT-)
- 用C#来捕获屏幕
- 用C#来捕获屏幕
- 用C#来捕获屏幕
- 用C#来捕获屏幕
- 用C#来捕获屏幕
- 用C#来捕获屏幕
- 每天敲两个代码-C源程序100例(加油)
- 用制作C#作屏幕捕获程序
- 用制作C#作屏幕捕获程序
- 用C#制作屏幕捕获程序
- 用制作C#作屏幕捕获程序
- 用C#制作屏幕捕获程序
- 串口监视的源程序代码(C++)
- C语言代码统计工具的源程序
- (四)修改源程序代码
- C#截取屏幕↑ 选择自 AppleDotnet 的 Blog
- PHP+JS实现搜索自动提示。
- 服装ERP应用(八) 服装企业电子商务路线图
- 利用消息机制实现.NET AOP(面向方面编程)--通过RealProxy实现
- 用C#来捕获屏幕
- C#来捕获屏幕(2)--源程序代码
- sql server中datetime字段只取年月日如2006-04-21,默认值如何设置?getdate()得到的是包含时分秒的时间。
- 现代项目管理的基石-WBS
- 在Office系列软件中创建COM插件工具条,并实现工具条上的弹出菜单
- XML:将信息写入到XML中
- flash在线拍照并上传(ASP.NET)
- 转让有线通网络,可以到今年10月份
- linux cluster 常用linux集群网站。
- 读取Powerpoint备注页的文字