zoukankan      html  css  js  c++  java
  • C#获取屏幕鼠标所指点的颜色

    有时候要获取屏幕某一点的坐标颜色值,可以如下实现:

    在VS2012中创建一个C#的Windows窗口应用程序,然后在Form上添加PictureBox和Button两个控件,并加入以下代码。

            //需要这个命名空间:
            //using System.Runtime.InteropServices;
    
            [DllImport("user32.dll")]//取设备场景 
            private static extern IntPtr GetDC(IntPtr hwnd);//返回设备场景句柄 
            [DllImport("gdi32.dll")]//取指定点颜色 
            private static extern int GetPixel(IntPtr hdc, Point p);
    
            private void button1_Click(object sender, EventArgs e)
            {
                Timer tim = new Timer();
                tim.Interval = 1;
                tim.Tick += delegate
                {
                    Point p = new Point(MousePosition.X, MousePosition.Y);//取置顶点坐标 
                    IntPtr hdc = GetDC(new IntPtr(0));//取到设备场景(0就是全屏的设备场景) 
                    int c = GetPixel(hdc, p);//取指定点颜色 
                    int r = (c & 0xFF);//转换R 
                    int g = (c & 0xFF00) / 256;//转换G 
                    int b = (c & 0xFF0000) / 65536;//转换B 
                    pictureBox1.BackColor = Color.FromArgb(r, g, b);
                };
                tim.Start();
            }
     

    运行后点击Button移动鼠标就能获得屏幕点的坐标了。

  • 相关阅读:
    关于Response.End的亦常
    关于web.config
    本地打印机的设置
    xml的操作
    javascript定义对象的几种简单方法
    WindowsXP下共享无线网络设置步骤
    第四章:使用Rich控件
    第五章母版页
    第八章数据访问概述
    对lock(obj)中的obj的理解
  • 原文地址:https://www.cnblogs.com/wuqianling/p/5958138.html
Copyright © 2011-2022 走看看