首页 > 代码库 > C#获取屏幕鼠标所指点的颜色
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移动鼠标就能获得屏幕点的坐标了。
C#获取屏幕鼠标所指点的颜色
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。