VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > C#教程 >
  • c#抓屏与截屏

制作者:剑锋冷月 单位:无忧统计网,www.51stat.net
 

  先是给大家一个类:

  class ScreenShot
  {
    public static void CaptureImage(Point SourcePoint, Point DestinationPoint, Rectangle SelectionRectangle, string FilePath)
    {
      using (Bitmap bitmap = new Bitmap(SelectionRectangle.Width, SelectionRectangle.Height))
      {
        using (Graphics g = Graphics.FromImage(bitmap))
        {
          g.CopyFromScreen(SourcePoint, DestinationPoint, SelectionRectangle.Size);
        }
        bitmap.Save(FilePath, ImageFormat.Bmp);
      }
    }
  }

   所需添加引用如下:

  using System;

  using System.Drawing;

  using System.Drawing.Imaging;

   调用方法:

    private void button1_Click(object sender, EventArgs e)
    {
      saveFileDialog1.DefaultExt = "bmp";
      saveFileDialog1.Filter = "bmp files (*.bmp)|*.bmp";
      saveFileDialog1.Title = "导出地图为...";
      saveFileDialog1.ShowDialog();
      if (saveFileDialog1.FileName.Length > 0)
      {
        ScreenPath = saveFileDialog1.FileName;
      }
      else
      {
        return;
      }
      this.Refresh();
      //3个参数:获得控件所在屏幕坐标,目标坐标点为(0,0),获得控件大小。
      ScreenShot.CaptureImage(axMapControl1.PointToScreen(Point.Empty), Point.Empty, new Rectangle(axMapControl1.Location, axMapControl1.Size), ScreenPath);    
    }

  转自:http://www.smartgz.com/blog/Article/1110.asp



相关教程