• C#图像处理:截图程序(包含鼠标)


    截图后在picbox中显示,用定时器定时每毫秒截图一次,在picbox上显示就有动画效果.代码:

            [DllImport("user32.dll")]
            static extern bool GetCursorInfo(out CURSORINFO pci);
    
            private const Int32 CURSOR_SHOWING = 0x00000001;
             [StructLayout(LayoutKind.Sequential)]
            struct POINT
            {
                public Int32 x;
                public Int32 y;
            }
    
            [StructLayout(LayoutKind.Sequential)]
            struct CURSORINFO
            {
                public Int32 cbSize;    
                public Int32 flags;     
                public IntPtr hCursor;     
                public POINT ptScreenPos;   
            }
    
           
            private void timer1_Tick(object sender, EventArgs e)
            {
                Image myimage = new Bitmap(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
                Graphics g = Graphics.FromImage(myimage);
                g.CopyFromScreen(new Point(0, 0), new Point(0, 0), new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height));
                CURSORINFO pci;
                pci.cbSize = Marshal.SizeOf(typeof(CURSORINFO));
                GetCursorInfo(out pci);
                System.Windows.Forms.Cursor cur = new System.Windows.Forms.Cursor(pci.hCursor);
                cur.Draw(g, new Rectangle(pci.ptScreenPos.x - 10, pci.ptScreenPos.y - 10, cur.Size.Width, cur.Size.Height));
                pictureBox1.Image = myimage;
            }

    先截屏后,然后找到鼠标的位置,后将鼠标画上去

                CURSORINFO pci;
                pci.cbSize = Marshal.SizeOf(typeof(CURSORINFO));
                GetCursorInfo(
    out pci);
                System.Windows.Forms.Cursor cur
    = new System.Windows.Forms.Cursor(pci.hCursor);
                cur.Draw(g,
    new Rectangle(pci.ptScreenPos.x - 10, pci.ptScreenPos.y - 10, cur.Size.Width, cur.Size.Height));

    以上代码就是画鼠标的代码

  • 相关阅读:
    Spring Boot 入门实战(7)--JdbcTempalte、Mybatis、动态数据源及 Atomicos 整合(XA 事务)
    L1-058 6翻了 (15 分)
    L1-057 PTA使我精神焕发 (5 分)
    L1-056 猜数字 (20 分)
    L1-055 谁是赢家 (10 分)
    L1-054 福到了 (15 分)
    L1-053 电子汪 (10 分)
    L1-052 2018我们要赢 (5 分)
    L1-051 打折 (5 分)
    L1-050 倒数第N个字符串 (15 分)
  • 原文地址:https://www.cnblogs.com/lujin49/p/3630509.html
Copyright © 2020-2023  润新知