• C#抓屏(截屏)



          先是给大家一个类:
        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);       
            }


     

  • 相关阅读:
    简单计算器--hdu1237(栈的运用)
    Bone Collector
    Red and Black---hdu1312(dfs)
    RTMP规范简单分析
    FFMPEG中最关键的结构体之间的关系
    面向对象与形而上学
    洛谷 P2913 [USACO08OCT]车轮旋转Wheel Rotation
    洛谷 P1889 士兵站队
    洛谷 P1885 Moo
    洛谷 P1683 入门
  • 原文地址:https://www.cnblogs.com/zpq521/p/1607879.html
Copyright © 2020-2023  润新知