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

     [DllImport("user32.dll")]
            private static extern IntPtr GetDC(IntPtr hwnd);
    
            [DllImport("gdi32.dll")]
            private static extern int GetPixel(IntPtr hdc, Point p);
    
            public static Color getColor(Point p)
            {
    
                // 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);
                return Color.FromArgb(r, g, b);
    
            }
    

      测试例子:

            private void button1_Click(object sender, EventArgs e)
            {
                //测试X在200,Y在120 到500 的颜是否不等于 Color.FromArgb(255, 246, 246, 246);
                string d = DateTime.Now.ToLongTimeString();
                Color cl = Color.FromArgb(255, 246, 246, 246);
                Point p = new Point(200,0);
               for (int h = 120; h < 500; h+=8) {
                    p.Y = h;
    
                if(getColor(p).Equals(cl)==false ){
    
                      Text =""+ h;
                   break;
                 }
    
                } 
                
                Text = d +":"+  DateTime.Now.ToLongTimeString() +"  "+ p ;
    
            }
    

      

  • 相关阅读:
    slenium截屏
    效率提升
    R语言网页爬虫
    高性能计算
    数据操作
    数据库操作
    面向对象编程
    元编程
    R 的内部机制
    数据处理
  • 原文地址:https://www.cnblogs.com/wgscd/p/10267134.html
Copyright © 2011-2022 走看看