颜色拾取器






2.15/5 (8投票s)
一个从桌面拾取颜色的实用程序。

引言
这是一个用于从桌面捕获颜色的实用工具。
背景
我在一个 Web 项目中需要一个 HTML 颜色,但由于我只有页面的位图,我不知道这些颜色。
然后我想起我用 VB6 写过一个实用工具。我决定将其移植到 VB.NET,并将 HTML 颜色代码添加到结果中。
Using the Code
该实用工具非常易于使用。只需运行 EXE,单击“Go”按钮,然后移动鼠标即可。
单击“Go”按钮后,我会捕获桌面并在主窗体下方显示的一个辅助窗体上将其显示为图像。鼠标热点下的像素的颜色将在主窗体窗口中显示,并以 RGB 和 HTML 代码的形式显示。
通过在显示“正确”颜色时单击,HTML 代码将被放入剪贴板。
关注点
旧的 VB6 代码冗长得多。Form.BackgroundImage
属性大大减少了代码量。这一行代码
Me.BackgroundImage = PerformCapture()
取代了更多的 VB6 代码行。
由于我不知道如何找到嵌入到框架中的 API,我保留了旧的 API 调用。
例如
<System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")> _
Private Shared Function BitBlt(ByVal hdcDest As IntPtr,
ByVal nXDest As Int32, ByVal nYDest As Int32, ByVal nWidth As Int32,
ByVal nHeight As Int32, ByVal hdcSrc As IntPtr, _ ByVal nXSrc As Int32,
ByVal nYSrc As Int32, ByVal dwRop As Int32) As Boolean End Function
Declare Auto Function CreateDC Lib "gdi32" (ByVal lpDriverName As String,
_ ByVal lpDeviceName As String, ByVal lpOutput As String,
ByVal lpInitData As IntPtr) As IntPtr
这还展示了在 VB.NET 中声明 API 的两种不同方法。
历史
- 2007 年 10 月 1 日:初始发布
- 2010 年 2 月 17 日:进行了一些代码更改并升级到 Visual Studio 2008