用C# 来写一个吸管工具 ,,怎么写,,有何高招,,欢迎来讨论

来源:百度知道 编辑:UC知道 时间:2024/05/14 01:49:28
想到了一个Flash8里有个吸管工具,很好的取色工具,,不知道要怎么用C#实现..是不是做个控件,代替鼠标,,但是怎么去取鼠标下的颜色,这个就有点难了,,,不过挺好玩的..要是每个颜色都打开一个对话框,自己进行配色,那太麻烦了,,,

谢谢,高手放话
81pfj99 谢谢您发了这么多的参考,,,
esci 谢谢,您的思路比我想得简单...,

给我些时间测试...
欢迎高手继续......

在MouseMove事件里调用这个方法就行了:
/// <summary>获取屏幕上指定点的颜色</summary>
public static Color GetScreenColor(Point P)
{
// 创建显示器的DC
IntPtr hdlDisplay = CreateDC("DISPLAY", null, null, IntPtr.Zero);
// 从指定设备的句柄创建新的 Graphics 对象
Graphics gfxDisplay = Graphics.FromHdc(hdlDisplay);
// 创建只有一个象素大小的 Bitmap 对象
Bitmap bmp = new Bitmap(1, 1, gfxDisplay);
// 从指定 Image 对象创建新的 Graphics 对象
Graphics gfxBmp = Graphics.FromImage(bmp);
// 获得屏幕的句柄
IntPtr hdlScreen = gfxDisplay.GetHdc();
// 获得位图的句柄
IntPtr hdlBmp = gfxBmp.GetHdc();
// 把当前屏幕中鼠标指针所在位置的一个象素拷贝到位图中
BitBlt(hdlBmp, 0, 0, 1, 1, hdlScreen, P.X, P.Y, 13369376);
// 释放屏幕句柄
gfxDisplay.ReleaseHdc(hdlScreen);
// 释放位