C#实现屏幕拷贝的方法

 更新时间:2015年06月12日 10:05:23   作者:zhuzhao  
这篇文章主要介绍了C#实现屏幕拷贝的方法,实例分析了两种常用的屏幕拷贝实现技巧,需要的朋友可以参考下

本文实例讲述了C#实现屏幕拷贝的方法。分享给大家供大家参考。具体如下:

方法一:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
namespace WindowsApplication2
{
  public partial class Form21 : Form
  {
    public Form21()
    {
      InitializeComponent();
    }
    private void button1_Click(object sender, EventArgs e)
    {
      Rectangle screenRect = Screen.PrimaryScreen.WorkingArea;
      Bitmap dumpBitmap = new Bitmap(screenRect.Width, screenRect.Height);
      Graphics tg = Graphics.FromImage(dumpBitmap);
      tg.CopyFromScreen(0, 0, 0, 0, new Size(dumpBitmap.Width, dumpBitmap.Height));
      this.pictureBox1.BackgroundImage = dumpBitmap;
      this.pictureBox1.BackgroundImageLayout = ImageLayout.Stretch;
      dumpBitmap.Save(@"c:/image1.bmp");
    }
  }
}

方法二:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication2
{
  public partial class Form22 : Form
  {
    public Form22()
    {
      InitializeComponent();
    }
    private void button1_Click(object sender, EventArgs e)
    {
      Rectangle rect = new Rectangle(0, 0, this.Size.Width, this.Size.Height);
      Bitmap dumpBitmap = new Bitmap(this.Size.Width, this.Size.Height);
      this.DrawToBitmap(dumpBitmap, rect);
      this.pictureBox1.BackgroundImage = dumpBitmap;
      this.pictureBox1.BackgroundImageLayout = ImageLayout.Stretch;
      dumpBitmap.Save(@"c:/image2.bmp");
    }
  }
}

希望本文所述对大家的C#程序设计有所帮助。

相关文章

  • Unity3D中脚本的执行顺序和编译顺序

    Unity3D中脚本的执行顺序和编译顺序

    在Unity中可以同时创建很多脚本,并且可以分别绑定到不同的游戏对象上,它们各自都在自己的生命周期中运行。与脚本有关的也就是编译和执行啦,本文就来研究一下Unity中脚本的编译和执行顺序的问题。
    2014-11-11
  • C#函数式编程中的缓存技术详解

    C#函数式编程中的缓存技术详解

    这篇文章主要介绍了C#函数式编程中的缓存技术详解,本文我们将分成两部分来讲解,第一部分为预计算,第二部分则为缓存,需要的朋友可以参考下
    2015-01-01
  • C#实体类转换的两种方式小结

    C#实体类转换的两种方式小结

    这篇文章主要介绍了C#实体类转换的两种方式小结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • C#6.0中你可能不知道的新特性总结

    C#6.0中你可能不知道的新特性总结

    C# 6 已经出来很久了,但最近发现真的有必要整理下,下面这篇文章主要给大家介绍了关于C#6.0中一些你可能不知道的新特性的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2018-04-04
  • C#编程中常见数据结构的比较(Unity3D游戏开发)

    C#编程中常见数据结构的比较(Unity3D游戏开发)

    在本篇内容里我们给大家整理了关于Unity3D游戏开发中C#编程中常见数据结构的比较相关知识点内容,需要的朋友们参考下。
    2019-05-05
  • C#执行DOS命令的方法

    C#执行DOS命令的方法

    这篇文章主要介绍了C#执行DOS命令的方法,涉及针对进程的调用以及系统DOS命令的使用,具有不错的实用价值,需要的朋友可以参考下
    2014-11-11
  • WinForm中变Enter键为Tab键实现焦点转移的方法

    WinForm中变Enter键为Tab键实现焦点转移的方法

    这篇文章主要介绍了WinForm中变Enter键为Tab键实现焦点转移的方法,主要通过一个ControlTools类来实现该功能,需要的朋友可以参考下
    2014-08-08
  • C#实现矩阵加法、取负、数乘、乘法的方法

    C#实现矩阵加法、取负、数乘、乘法的方法

    这篇文章主要介绍了C#实现矩阵加法、取负、数乘、乘法的方法,涉及C#针对矩阵的数学运算相关实现技巧,需要的朋友可以参考下
    2015-08-08
  • C#使用DevExpress中的SplashScreenManager控件实现启动闪屏和等待信息窗口

    C#使用DevExpress中的SplashScreenManager控件实现启动闪屏和等待信息窗口

    这篇文章介绍了C#使用DevExpress中的SplashScreenManager控件实现启动闪屏和等待信息窗口的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • C#+无unsafe的非托管大数组示例详解(large unmanaged array in c# without ‘unsafe’ keyword)

    C#+无unsafe的非托管大数组示例详解(large unmanaged array in c# without ‘u

    这篇文章主要给大家介绍了关于C#+无unsafe的非托管大数组(large unmanaged array in c# without 'unsafe' keyword)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01

最新评论