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); } |
测试例子:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
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 ;} |
C#获取屏幕鼠标坐标点颜色的更多相关文章
- c# C#获取屏幕鼠标坐标点颜色
[DllImport("user32.dll")] private static extern IntPtr GetDC(IntPtr hwnd); [DllImport(&quo ...
- C#获取屏幕鼠标所指点的颜色
有时候要获取屏幕某一点的坐标颜色值,可以如下实现: 在VS2012中创建一个C#的Windows窗口应用程序,然后在Form上添加PictureBox和Button两个控件,并加入以下代码. //需要 ...
- 原生js获取鼠标坐标方法全面讲解-zmq
原生js获取鼠标坐标方法全面讲解:clientX/Y,pageX/Y,offsetX/Y,layerX/Y,screenX/Y 一.关于js鼠标事件综合各大浏览器能获取到坐标的属性总共以下五种:eve ...
- DSAPI 远程协助之获取当前鼠标指针坐标及样式
在编写远程协助类软件时,除了获取屏幕画面外,还需要获取鼠标当前的坐标以及当前的指针样式,以便让远程屏幕知道当前的操作状态. 使用DSAPI内置的鼠标指针类,可轻松获取. 代码如下: Imports D ...
- div内鼠标坐标位置及绝对和相对坐标获取
JQuery 获得div绝对,相对位置的坐标方法 1 2 3 4 5 6 获取页面某一元素的绝对X,Y坐标 var X = $('#DivID').offset().top; var Y = $( ...
- 002--VS C++ 获取鼠标坐标并显示在窗口上
//--------------------------------------------MyPaint() 函数------------------------------------------ ...
- c#获取鼠标坐标
用Control.MousePosition获得当前鼠标的坐标CurrentPoint,使用Control.PointToClient方法,前面获得的CurrentPoint作为其参数,返回的Poin ...
- JS 获取鼠标坐标
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- android 获取屏幕宽高 和 获取控件坐标
一.获取屏幕宽高: (1). WindowManager wm = (WindowManager)getSystemService(Context.WINDOW_SERVICE); int width ...
随机推荐
- Java8新特性——新一套时间API的使用
JDK 1.0中包含了一个java.util.Date类,但是它的大多数方法已经在JDK 1.1引入Calendar类之后被弃用了.而Calendar并不比Date好多少.它们面临的问题是: 可变性: ...
- QT+OpenGL(01)--实现三角形渲染
1.openglwidget.ui <ui version="4.0"> <author/> <comment/> <exportmacr ...
- .NET基础知识(01)-值类型与引用类型
常见面试题目: 1. 值类型和引用类型的区别? 2. 结构和类的区别? 3. delegate是引用类型还是值类型?enum.int[]和string呢? 4. 堆和栈的区别? 5. 什么情况下会在堆 ...
- Linux磁盘系统——管理磁盘的命令
Linux磁盘系统——管理磁盘的命令 摘要:本文主要学习了Linux系统中管理磁盘的命令,包括查看磁盘使用情况.磁盘挂载相关.磁盘分区相关.磁盘格式化等操作. df命令 df命令用于显示Linux系统 ...
- tkinter为多个窗口设置相同的icon报错
import threading import tkinter from PIL import Image, ImageTk def show_window(): window = tkinter.T ...
- 虚拟机中安装Kali遇到的问题及解决方法
title: 虚拟机中安装Kali遇到的问题及解决方法 date: 2018-11-25 12:25:43 tags: 安全 --- 关于Kali版本选择 kail官方下载页面 虚拟机中当然就下载虚拟 ...
- iOS 快速打包方法
这种打包方式应该是目前所有打包方式中最快的,就是编译工程--找到.app文件--新建Payload文件夹--拷贝.app到Payload文件夹--压缩成zip--更改后缀名为ipa--完成! 注意事项 ...
- Java常用算法总结
冒泡排序 从左到右不断交换相邻逆序的元素,在一轮的循环之后,可以让未排序的最大元素上浮到右侧. 在一轮循环中,如果没有发生交换,那么说明数组已经是有序的,此时可以直接退出. 代码如下: public ...
- SpringBoot的学习一:入门篇
SpringBoot是什么: SpringBoot是Spring项目中的一个子工程,是一个轻量级框架. SpringBoot框架中有两个个非常重要的策略:开箱即用和约定优于配置 一.构建工程 1.开发 ...
- HTTPS中的加密验证部分理论
为了加深自己对于https加密这一块的映象,决定写出来试试 就是在http层下面加了一个ssl层, 服务器将自己的公钥发送给证书机构,申请证书,证书机构首先会验证个服务器是否合法,线上或者线下,然后用 ...