zoukankan      html  css  js  c++  java
  • Winform- 屏幕截屏

    使用WINFORM来进行屏幕截图,试试这一串

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Drawing.Drawing2D;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;

    namespace WindowsFormsApp1
    {
        public partial class Form1 : Form
        {
            private int intStartX = 0;
            private int intStartY = 0;
            private bool isMouseDraw = false;
            private Rectangle rectangle;

            public Form1()
            {
                //this.BackColor = Color.Gray;
                //this.Opacity = 0.5;
                //this.FormBorderStyle = FormBorderStyle.None;
                //this.WindowState = FormWindowState.Maximized;

                InitializeComponent();
            }

            private void button1_Click(object sender, EventArgs e)
            {

                Bitmap myImage = new Bitmap(rectangle.Width, rectangle.Height);
                Graphics g = Graphics.FromImage(myImage);

                //g.CopyFromScreen(new Point(0, 0), new Point(0, 0), new Size(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height));
                //g.CopyFromScreen(rectangle.X,rectangle.Y,(rectangle.X + rectangle.Width),
                //(rectangle.Y + rectangle.Height), new Size(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height));

                g.CopyFromScreen(new Point(rectangle.X, rectangle.X), new Point(rectangle.X, rectangle.Y), new Size(rectangle.Width, rectangle.Height));

                myImage.Save(@"D:x.jpg");
                g.Dispose();



            }

            private void Form1_Load(object sender, EventArgs e)
            {

            }

            private void Form1_MouseDown(object sender, MouseEventArgs e)
            {
                isMouseDraw = true;
                intStartX = e.X;
                intStartY = e.Y;
            }

            private void Form1_MouseMove(object sender, MouseEventArgs e)
            {
                if (isMouseDraw)
                {
                    try
                    {
                       
                        Graphics g = this.CreateGraphics();
                        //清空上次画下的痕迹
                        g.Clear(this.BackColor);
                        Brush brush = new SolidBrush(Color.Red);
                        Pen pen = new Pen(brush, 1);
                        pen.DashStyle = DashStyle.Solid;
                        rectangle = new Rectangle(intStartX > e.X ? e.X : intStartX, intStartY > e.Y ? e.Y : intStartY, Math.Abs(e.X - intStartX), Math.Abs(e.Y - intStartY));
                        g.DrawRectangle(pen, rectangle);
                        g.Dispose();
                    }
                    catch (Exception ex)
                    {
                        ex.ToString();
                    }
                }
            }

            private void Form1_MouseUp(object sender, MouseEventArgs e)
            {
                isMouseDraw = false;

                intStartX = 0;
                intStartY = 0;
            }
        }
    }

  • 相关阅读:
    资料收集
    layui 设计资源——2.0 版本的 Axure 组件包,产品交互设计利器
    照片自动按时间分类助手
    回顾2017,规划2018,展望2019
    coder/programmer engineer Chirf Technology Offcer
    新手开公司创业,这些坑千万别掉进去!
    ASP.NET MVC中的Global.asax文件
    SQLServer(MSSQL)、MySQL、SQLite、Access相互迁移转换工具 DB2DB v1.0
    快速开发之代码生成器(asp.net mvc4 + easyui + knockoutjs)
    PowerDesigner逆向工程导入MYSQL数据库总结
  • 原文地址:https://www.cnblogs.com/cxeye/p/14240614.html
Copyright © 2011-2022 走看看