特投网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

(站外) 特投工作室

查看: 1774|回复: 0

C#简单获取屏幕鼠标坐标点颜色

[复制链接]

2569

主题

1018

回帖

6万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
69667
QQ
发表于 2016-2-8 16:48:51 | 显示全部楼层 |阅读模式
api函数:
1    [DllImport("user32.dll")]//取设备场景
2    private static extern IntPtr GetDC(IntPtr hwnd);//返回设备场景句柄
3
4    [DllImport("gdi32.dll")]//取指定点颜色
5    private static extern int GetPixel(IntPtr hdc, Point p);

主要方法:
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();


效果演示:




您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

您尚未登录,请登录后浏览更多精彩内容!
 立即注册
找回密码

QQ|Archiver|手机版|小黑屋|特投网 ( 皖ICP备13010674号-1 

GMT+8, 2024-4-28 07:45 , Processed in 0.056016 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表