跳到主内容

屏幕取色与色值转换 - 免费屏幕任意位置取色,HEX/RGB/HSL/CMY(其它工具)

免费下载屏幕取色与色值转换 v1.0.0
平台:Windows 10/11 (64位)大小:10 KB版本:v1.0.0更新:
提取码:bvwz(如提示需要,请输入)
下载地址 ▾
解压后双击即可运行,无需安装任何运行环境,不联网、不上传数据。
看到屏幕上某个颜色想知道色值,截图再开工具取色太绕

屏幕取色与色值转换 运行界面

软件名称屏幕取色与色值转换
版本v1.0.0
授权免费(可自由使用与转发)
运行方式本地运行,不上传数据
所属分类其它工具

这个工具解决什么问题

做设计稿还原、做前端配色、或者只是看到别人页面上一个好看的颜色想拿来用,都会遇到同一个问题:这个颜色的色值到底是多少?Windows 自带的画图虽然有个吸管,但要先把屏幕截下来、粘进画图、切到吸管、点一下、再去调色板里读 RGB,最后还得自己换算成 HEX——五步操作只为拿一个六位字符串。在线取色工具更麻烦:得先把截图上传,网页还常常只给 RGB 不给 HSL,想换算 CMYK 又得再找一个工具。

  • 原来的做法:截图 → 粘进画图 → 用吸管取色 → 打开调色板读 RGB → 自己换算成 HEX;要 HSL 或 CMYK 还得再找在线换算器。
  • 用这个工具:点「从屏幕取色」,鼠标移到目标上,放大镜实时显示那一像素的颜色和色值,左键一点,HEX / RGB / HSL / CMYK 四组值全部算好,一键复制。
  • 省下来的:原来拿一个色值要花一分钟以上,现在两三秒;而且 HSL 和 CMYK 是顺手一起给的,不用再来回换工具。

技术实现

C# + .NET Framework 4.8 写成 WinForms 单窗口程序,编译成单个 exe。选这个栈是因为取色必须调 Windows 的屏幕抓取 API(Graphics.CopyFromScreen),这是原生能力;.NET Framework 4.8 又是 Windows 10/11 自带运行时,用户双击即用,不需要额外安装。

  • 全屏遮罩 + 放大镜,而不是「等 3 秒后取鼠标位置」:很多小工具的做法是隐藏自己、等几秒、再读鼠标当前位置的像素。问题是用户还没把鼠标移到目标上就已经取完了,体验很差。本工具用一个无边框全屏遮罩窗体,鼠标移到哪放大镜跟到哪,左键才确认,所见即所得。
  • 放大镜用 CopyFromScreen 抓小区域再放大:只抓光标周围 15×15 像素的区域(Bitmap + Graphics.CopyFromScreen),再按 10 倍用最近邻插值(NearestNeighbor)绘制,中心画红色准星标出正在取的那一个像素。抓取区域小,每帧开销极低,鼠标移动很跟手。
  • 坐标一律用 Cursor.Position:遮罩上有放大镜和文字两个子控件,鼠标移到子控件上时父窗体收不到 MouseMove 事件,放大镜会「卡住」。改用 Cursor.Position(屏幕坐标)判断位置,并给子控件也挂上同一个处理函数,彻底避开这个坑。
  • 手写 HSL / CMYK 换算,不引第三方库:公式是固定的,写出来只有几十行,而且便于逐行核对。HSL 走标准的 max/min 色相公式(H 归一到 0–360°),CMYK 走朴素换算(K = 1 − max(R,G,B))。转换结果与 Python colorsys 的基准值逐位一致。
  • HEX 输入框可双向使用:HEX 不只是显示,也可以直接输入:输入 6 位(或 3 位简写)会自动识别并刷新所有色值。做配色时经常是「我有色值想看看长什么样」,双向比单向实用。
  • 亮底黑字、暗底白字:预览色块上的色值文字按亮度公式 (R×299+G×587+B×114)/1000 判断,亮色用黑字、暗色用白字,保证在白色和黑色背景上都看得清。

技术栈:C# 5.0、.NET Framework 4.8、WinForms 窗体

已知局限:取到的是屏幕合成后的最终像素值(受系统色彩管理影响),与设计稿里的原始色值可能有极细微差别;放大镜采样按主屏边界做了保护,副屏最右侧极窄区域可能取不到。

操作教程

  1. 打开程序
    双击 exe,窗口打开后默认已经载入一个颜色(主题蓝 #0069CC),预览色块、HEX/RGB/HSL/CMYK 四组值、常用色板都能看到。
    预期结果:窗口正常显示,色块上写着 #0069CC,四组色值均已填好。
  2. 从屏幕取色
    点「从屏幕取色」,主窗口隐藏,屏幕变成可点状态。移动鼠标,光标旁边会出现放大镜(显示放大的像素)和实时色值。
    预期结果:放大镜跟随鼠标移动,中心红框标出正在取的像素,旁边显示 #RRGGBB 与 RGB 值。
  3. 确认取色
    把红框对准想要的像素,按鼠标左键确认;不想取了按右键或 Esc 取消。
    预期结果:窗口恢复显示,预览色块换成新取到的颜色,四组色值全部刷新,该颜色进入「最近取色」。
  4. 复制色值
    点「复制 HEX」得到 #RRGGBB,点「复制 RGB」得到 233,30,99 形式,点「复制全部色值」得到四行完整报告。
    预期结果:状态栏提示已复制,粘贴到编辑器里是期望的格式。
  5. 用色板或历史快速载入
    点「常用色板」里任意一格载入该颜色;点「最近取色」里任意一格回到之前取过的颜色。
    预期结果:预览与四组色值同步更新。
  6. 反过来查色值
    在 HEX 输入框里直接输入一个六位色值(如 E91E63),所有色值立刻算出来。
    预期结果:输入满 6 位后自动刷新预览与 RGB/HSL/CMYK。

取色过程不需要联网,也不需要安装任何运行环境。

常见问题

Q:取色时为什么窗口会消失?A:那是刻意隐藏的:如果主窗口不藏起来,你把鼠标移到它上面时取到的就是主窗口自己的颜色。隐藏后你看到的是真实桌面内容,取到的才是目标像素。取消取色(右键或 Esc)后窗口会立刻回来。
Q:放大镜里的红框是什么?A:红框标出的是「如果现在点下去,会取到的那一个像素」。放大镜把 15×15 像素放大 10 倍,红框正好圈住中心那一格,避免手抖取偏一个像素。
Q:HEX 和设计稿里的色值差 1,正常吗?A:正常。屏幕取色拿到的是显示合成后的最终像素,经过系统的色彩管理与缩放,可能与设计稿里的原始值有 ±1 的差别。要精确还原设计稿,建议直接输入设计稿上标注的 HEX 值。
Q:支持多显示器吗?A:支持在扩展屏幕范围内取色(遮罩覆盖整个虚拟屏幕)。但放大镜采样按主屏边界做了保护,副屏最右侧极窄区域可能取不到,属于已知局限。
Q:CMYK 的值可以直接拿去做印刷吗?A:不建议。这里是 RGB→CMYK 的朴素数学换算,没有经过 ICC 色彩特性文件转换,和印厂的输出会有明显差异。印刷请用专业色彩管理软件。
Q:能不能取到半透明的颜色?A:不能。屏幕像素是已经合成过的最终结果,透明度信息在这一步已经丢失,取到的是合成后的不透明颜色。
Q:复制按钮点了没反应?A:如果剪贴板正被其它程序占用(比如某些远程桌面或剪贴板管理工具),复制会失败并弹窗提示。关掉那个程序再试即可。
Q:最近取色会保存下来吗?A:不会。最近取色只存在内存里,关掉程序就清空。它记录的是本次使用过程中取过的颜色,最多保留 10 个,重复取同一个颜色会自动去重并提到最前。

技术实现与后续维护

本工具由我们自行开发并持续维护,每次迭代都经过本地自测。取色逻辑集中在 PickOverlay 一个类里,色值换算集中在三个静态方法(Hex / RgbToHsl / RgbToCmyk)里,主窗口只负责展示。想改取色交互只动 PickOverlay,想加色彩空间只加静态方法。

技术构成:

  • src/MainForm.cs —— 唯一源码文件:PickOverlay 全屏取色遮罩 + MainForm 主窗口 + 色值换算函数
  • DOCS/开发文档.md —— 工程结构、取色实现要点、色值公式与扩展点

运行环境:

使用 .NET Framework 4.8 自带的 csc.exe 编译,无需 Visual Studio:

csc /target:winexe /out:屏幕取色与色值转换.exe /platform:anycpu /optimize+ /reference:System.Windows.Forms.dll /reference:System.Drawing.dll src\MainForm.cs

也可以在 Visual Studio 2019/2022 中新建「.NET Framework 4.8」Windows 窗体项目,把 src\MainForm.cs 加入后直接生成。

可扩展方向:

  • 在 RgbToHsl 之外补充 HSV / LAB / LCH 等色彩空间
  • 取色后自动生成色阶(同色相不同明度的一组色)
  • 增加 WCAG 对比度计算,判断配色可读性
  • 增加从图片文件提取主色(走中位切分或 K-Means)

本工具免费提供使用,但不对外分发源码。如果你需要在本工具基础上做功能调整、对接内部系统或长期维护,可以联系我们做二次开发,源码与工程文档可在定制合作中一并交付。

需要其它功能?可以定制

这个工具只做一件事:看到屏幕上某个颜色想知道色值,截图再开工具取色太绕。如果你的场景还需要别的处理,可以联系我们做二次开发,按你的实际数据格式和流程定制。

常见的定制需求:

  • 取色后自动生成该颜色的浅色/深色衍生色(做设计系统色阶)
  • 增加调色板导出:把常用色板导出成 CSS 变量或设计令牌文件
  • 增加对比度检查:判断前景色与背景色的 WCAG 对比度是否达标
  • 支持从图片文件里批量提取主色(而不是只取单个像素)
  • 联系方式:邮箱/微信见站内「联系我们」页面,或在本文下方留言
  • 定制说明:请附上你的数据样例(脱敏即可)和期望结果,方便快速评估工作量
  • 交付形式:定制项目可交付可执行程序,按需一并交付源码与工程文档,支持长期维护

使用说明与免责声明

  • 本工具在本地运行,不联网、不上传任何数据到服务器。
  • 涉及文件改写的功能,请在使用前备份原始文件。
  • 软件完全免费,可自由使用与转发,请勿用于倒卖。
  • 因误操作造成的数据问题请自行承担。
免费下载屏幕取色与色值转换 v1.0.0
平台:Windows 10/11 (64位)大小:10 KB版本:v1.0.0更新:
提取码:bvwz(如提示需要,请输入)
下载地址 ▾
解压后双击即可运行,无需安装任何运行环境,不联网、不上传数据。
分享到:

本文链接:https://www.biyeyuanma.cn/post/278.html

服务热线

加我微信

加我微信