屏幕颜色提取器(小巧,绿色,zip/20.2k)

来源:互联网 发布:an94知乎 编辑:程序博客网 时间:2024/04/28 19:04


这是一个我写的小应用,本文将讲解如何实现这么个软件。只想下载屏幕颜色提取器戳这里:http://pan.baidu.com/s/1qWEaSXI


这是一个较实用的应用。有时我们使用某种看到的颜色,但又不知道什么值,这时,这个软件就排上用场了,我也是多次出现这种需求,正好自己也正在学习C#,于是才决定自己写一个玩玩。


凭直觉来看,这个小玩意不会难,事实上也是如此。要想提取颜色,我们需要:
1.获取该点的坐标
2.根据坐标得到像素
3.根据像素得到RGB颜色


这就是基本思想,具体操作是移动鼠标,确定某个位置后,按下键盘,程序获取该坐标的颜色。


核心代码如下:


Point p = new Point(MousePosition.X, MousePosition.Y);
IntPtr hdc = GetDC(IntPtr.Zero);
int c = GetPixel(hdc, p);
int r = (c & 0xFF);
int g = (c & 0xFF00) >> 8;
int b = (c & 0xFF0000) >> 16;
this.pictureBox1.BackColor = Color.FromArgb(r, g, b);                

这样就实现基本功能了,当然,我们还可以做得更好一些,比如提供颜色预览,好让我们知道是不是想要的颜色;置顶功能,这样方便我们去选择其他界面的颜色;提供网页颜色格式等等。
0 0
原创粉丝点击