Color Picker
Project Color Picker is a small desktop colour picker with 14 colour modes, picking from anywhere on screen, and saved swatches. It's for when you don't want to open a browser every time you need a colour value.
Windows and macOS (Apple Silicon and Intel). Linux builds from source, without screen picking.
Install
- Windows: the installer from qlinter.org (
color-picker-setup-1.0.1.exe). - macOS: the disk image from qlinter.org (
color-picker-1.0.1.dmg). The app isn't signed with an Apple Developer ID, so macOS asks the first time: open it once, then go to System Settings → Privacy & Security → Open Anyway. - From source (needs Rust):
git clone https://github.com/acus9345/Project-Color-Picker
cd Project-Color-Picker
cargo run --release
On a Mac, bash macos/build-app.sh builds dist/Project Color Picker.app for both kinds of Mac (macOS 10.15 or later).
Quick start
Open the app, press Pick (or P) and click anywhere on screen. The colour shows in the current mode; press the copy button or Ctrl+C to copy the values.
Colour modes
RGBA, HEX, HSL, HSB, CMYK, HWB, OKLCH, LAB, GRAY, YUV, YPbPr, XYZ, xyY and Munsell. Mode opens the menu with all of them. The colour plane and sliders always use the active mode's own channels.
Controls
| Control | What it does |
|---|---|
| Drag the colour plane, the hue or alpha bars, or any channel slider | Change the colour. Scroll over a slider to nudge it one step. |
| Mode | Opens the menu of colour modes. |
| Click the value box | Type a value. Enter applies, Esc cancels. #hex works in every mode. |
| Copy buttons, Ctrl+C | Copy the values or the hex. |
| Ctrl+V | Paste a colour. |
| Pick or P | Pick a colour from anywhere on screen. |
| Swatches | Click an empty one to save the colour, click a saved one to use it, right-click to replace, middle-click to clear. |
| Pin (title bar) | Keeps the window on top. |
| Dim toggle (title bar) | Dims the parts of a colour plane that RGB can't show. Off by default. |
On a Mac, Cmd works wherever Ctrl does.
How it works
The app is one Rust program drawn with macroquad. The interface is laid out on a fixed canvas and scaled to fit the window. Every rounded shape (panels, pills, thumbs, icons, shadows) is a single quad run through a signed-distance shader, so edges stay crisp at any size.
The colour maths is its own: conversions between RGB and HSL, HSB, HWB, CMYK, YUV and YPbPr (BT.601), CIE XYZ, xyY and Lab, OkLab and OKLCH, and Munsell.
On Windows the app draws its own title bar and window buttons. Pick shows a magnifier loupe in a layered, always-on-top window that follows the cursor and samples the screen under it. On macOS the system draws the title bar, and Pick opens macOS's own colour sampler (click to pick, Esc to cancel).
Files
| File | Where |
|---|---|
state.txt (last colour, mode, pin and dim) |
Next to the exe on Windows |
palette.txt (saved swatches) |
Next to the exe on Windows |
| Both files on macOS | ~/Library/Application Support/Project Color Picker |
Limits
- Linux has no screen picking.
- The Mac app isn't signed, so macOS asks before the first launch.
Worked examples
Get the hex of something on screen. Press P, move the loupe over the pixel and click. The hex appears in the value box; press the copy button next to it.
Convert a hex to OKLCH. Open Mode, pick OKLCH, click the value box, type #5b6a1e and press Enter. The box now shows the colour as OKLCH; press Ctrl+C to copy the values.
Keep a small palette. Click an empty swatch to save the current colour. Click it later to use it again, right-click to replace it with the current colour, or middle-click to clear it. Swatches are kept between runs.
Fine-tune one channel. Hover a channel slider and scroll: each notch moves it one step.
Keep the picker over your design app. Click the pin in the title bar so the window stays on top.
See which colours a screen can show. Turn on the dim toggle in the title bar. Parts of the colour plane that RGB can't display are dimmed, which matters in wide modes such as OKLCH and Lab.
Edge cases
- Out-of-gamut values: in modes like OKLCH, Lab and XYZ you can type values RGB can't show. Turn dimming on to see which part of the plane is displayable.
- Typing a hex in any mode:
#hexis always accepted, whatever mode is active. - Cancelling an edit: Esc leaves the value as it was.
- High-DPI screens: the interface is laid out on a fixed canvas and scaled to the window, so it stays sharp at any size.
- Linux: the app runs, but Pick isn't available.
- Moving the app on Windows:
state.txtandpalette.txtlive next to the exe, so copy them with it.
FAQ
Does it need the internet? No.
Where are my swatches? In palette.txt, next to the exe on Windows, or in ~/Library/Application Support/Project Color Picker on a Mac.
Can I paste a colour from somewhere else? Yes, Ctrl+V pastes a colour (Cmd+V on a Mac).
How does picking work on a Mac? It opens macOS's own colour sampler: click to pick, Esc to cancel.
Why does the Mac ask before opening it? It isn't signed with an Apple Developer ID. Use Open Anyway once.
Which modes are there? RGBA, HEX, HSL, HSB, CMYK, HWB, OKLCH, LAB, GRAY, YUV, YPbPr, XYZ, xyY and Munsell.
Version and source
This page describes Color Picker 1.0.1.
- Source: https://github.com/acus9345/Project-Color-Picker
- License: MIT
Project Color Picker 是一個小巧的桌面取色器,有 14 種色彩模式、可以從螢幕任何地方取色,還能存色票。適合不想每次需要色碼都打開瀏覽器的時候。
支援 Windows 與 macOS(Apple Silicon 和 Intel)。Linux 可從原始碼建置,但沒有螢幕取色。
安裝
- Windows: qlinter.org 的安裝程式(
color-picker-setup-1.0.1.exe)。 - macOS: qlinter.org 的磁碟映像檔(
color-picker-1.0.1.dmg)。這個 App 沒有用 Apple Developer ID 簽署,所以 macOS 第一次會詢問:先打開一次,再到 系統設定 → 隱私權與安全性 → 強制打開。 - 從原始碼(需要 Rust):
git clone https://github.com/acus9345/Project-Color-Picker
cd Project-Color-Picker
cargo run --release
在 Mac 上,bash macos/build-app.sh 會為兩種 Mac 建置 dist/Project Color Picker.app(macOS 10.15 或更新版本)。
快速開始
打開 App,按 Pick(或 P),點螢幕上任何地方。顏色會以目前模式顯示;按複製按鈕或 Ctrl+C 複製數值。
色彩模式
RGBA、HEX、HSL、HSB、CMYK、HWB、OKLCH、LAB、GRAY、YUV、YPbPr、XYZ、xyY 和 Munsell。Mode 會打開包含全部模式的選單。色彩平面和滑桿一律使用目前模式自己的通道。
操作
| 操作 | 作用 |
|---|---|
| 拖曳色彩平面、色相或透明度條,或任一通道滑桿 | 改變顏色。在滑桿上捲動滾輪可微調一格。 |
| Mode | 打開色彩模式選單。 |
| 點數值框 | 輸入數值。Enter 套用,Esc 取消。任何模式都接受 #hex。 |
| 複製按鈕、Ctrl+C | 複製數值或 hex。 |
| Ctrl+V | 貼上顏色。 |
| Pick 或 P | 從螢幕任何地方取色。 |
| 色票 | 點空的色票儲存顏色,點已存的色票使用它,按右鍵取代,按中鍵清除。 |
| 圖釘(標題列) | 讓視窗保持在最上層。 |
| 變暗開關(標題列) | 把色彩平面中 RGB 無法顯示的部分變暗。預設關閉。 |
在 Mac 上,凡是能用 Ctrl 的地方都能用 Cmd。
運作原理
這個 App 是一個用 macroquad 繪製的 Rust 程式。介面排在固定的畫布上,再縮放到符合視窗大小。所有圓角形狀(面板、膠囊、滑塊、圖示、陰影)都是一個四邊形經過 signed-distance shader 處理,所以邊緣在任何大小都清晰。
色彩數學都是自己寫的:RGB 與 HSL、HSB、HWB、CMYK、YUV 和 YPbPr(BT.601)、CIE XYZ、xyY 和 Lab、OkLab 和 OKLCH,以及 Munsell 之間的轉換。
在 Windows 上,App 自己畫標題列和視窗按鈕。Pick 會在一個跟著游標、永遠置頂的分層視窗中顯示放大鏡,取樣游標下方的螢幕。在 macOS 上,標題列由系統繪製,Pick 會打開 macOS 自己的取色器(點擊取色,Esc 取消)。
檔案
| 檔案 | 位置 |
|---|---|
state.txt(上次的顏色、模式、圖釘與變暗) |
Windows 上與 exe 同一資料夾 |
palette.txt(儲存的色票) |
Windows 上與 exe 同一資料夾 |
| macOS 上的兩個檔案 | ~/Library/Application Support/Project Color Picker |
限制
- Linux 沒有螢幕取色。
- Mac App 沒有簽署,所以 macOS 第一次啟動前會詢問。
實例
取得螢幕上某個東西的 hex。 按 P,把放大鏡移到那個像素上點擊。hex 會出現在數值框;按旁邊的複製按鈕。
把 hex 轉成 OKLCH。 打開 Mode,選 OKLCH,點數值框,輸入 #5b6a1e 再按 Enter。數值框會以 OKLCH 顯示這個顏色;按 Ctrl+C 複製數值。
保留一小組色票。 點空的色票儲存目前的顏色。之後點它就能再用,按右鍵用目前顏色取代,按中鍵清除。色票在每次執行之間都會保留。
微調單一通道。 把滑鼠移到通道滑桿上捲動:每一格移動一步。
讓取色器停在設計 App 上方。 點標題列的圖釘,讓視窗保持在最上層。
看看螢幕能顯示哪些顏色。 打開標題列的變暗開關。色彩平面中 RGB 無法顯示的部分會變暗,這在 OKLCH 和 Lab 這類廣色域模式中特別有用。
特殊情況
- 超出色域的數值: 在 OKLCH、Lab 和 XYZ 等模式中,可以輸入 RGB 無法顯示的數值。打開變暗功能,看平面中哪部分可以顯示。
- 任何模式都能輸入 hex: 無論目前是哪個模式,都接受
#hex。 - 取消編輯: 按 Esc,數值維持原樣。
- 高 DPI 螢幕: 介面排在固定畫布上再縮放到視窗大小,所以在任何大小都清晰。
- Linux: App 可以執行,但無法使用 Pick。
- 在 Windows 上搬移 App:
state.txt和palette.txt與 exe 放在一起,請一起複製。
常見問題
需要網路嗎? 不需要。
我的色票存在哪裡? 在 palette.txt,Windows 上與 exe 同一資料夾,Mac 上在 ~/Library/Application Support/Project Color Picker。
能從別處貼上顏色嗎? 可以,Ctrl+V 會貼上顏色(Mac 上是 Cmd+V)。
在 Mac 上怎麼取色? 它會打開 macOS 自己的取色器:點擊取色,Esc 取消。
為什麼 Mac 打開前會詢問? 它沒有用 Apple Developer ID 簽署。用一次 強制打開 即可。
有哪些模式? RGBA、HEX、HSL、HSB、CMYK、HWB、OKLCH、LAB、GRAY、YUV、YPbPr、XYZ、xyY 和 Munsell。
版本與原始碼
本頁說明 Color Picker 1.0.1。