你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 图形图象处理与游戏编程
C#实现屏幕截取(一)
 

摘 要  给出了一种效果良好的C#屏幕截取编程方法及其实现代码,所截取的屏幕能够以各种图像格式存储起来。

关键词  屏幕截取;C#

 

1 引言

屏幕截取是图像编程的一个重要课题,可将截取的屏幕作为图像存储在内存中。.NET提供了GDI+作为编程工具,能够方便地将截取的屏幕以各种图像格式存储起来。目前,在公开发表的C#屏幕截取编程中,通常的效果都不好,在此提供一种效果良好的C#屏幕截取编程方法。

2 API函数进行C#屏幕截取

SDK platform 中,与此相关的APIGetDesktopWindowCreateCompatibleDCGetSystemMetricsSelectObjectBitBltShowWindow,可将有关的API封装到相应的C#文件中,如以下代码封装了CreateCompatibleDCAPI函数:

[DllImport ("gdi32.dll",EntryPoint="CreateCompatibleBitmap")]

        public static extern IntPtr CreateCompatibleBitmap(IntPtr hdc,int nWidth, int nHeight);

3 存储

为将截取屏幕存储为多种图像格式,引入了System.Windows.Forms.SaveFileDialog类,对其Filter属性编程:

this.saveFileDialog1.Filter = "JPEG files(*.jpg)|*.jpg|gif files(*.gif)|*.gif|bmp files(*.bmp)|*.bmp|Tiff files(" +

                "*.tiff)|*.tiff";

以下代码可实现将截取屏幕存储为多种图像格式:

    private void button1_Click(object sender, System.EventArgs e)

        {

                             if(this.saveFileDialog1.ShowDialog()==DialogResult.OK&&saveFileDialog1.FileName!="")

            {

               

                PlatformInvokeUSER32.ShowWindow(Form.ActiveForm.Handle,2);

                switch(this.saveFileDialog1.FilterIndex)

                {

  推荐精品文章

·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089