PowerToys/doc/devdocs/modules/colorpicker.md
Gleb Khmyznikov 725535b760
Some checks failed
Spell checking / Check Spelling (push) Has been cancelled
Spell checking / Report (Push) (push) Has been cancelled
Spell checking / Report (PR) (push) Has been cancelled
Spell checking / Update PR (push) Has been cancelled
[DevDocs] More content and restructure (#40165)
## Summary of the Pull Request
Accumulated information from internal transition about the modules
development, and reworked it to be added in dev docs. Also the dev docs
intself was restructured to be more organized. New pages was
verified by transition team.

## PR Checklist
- [x] **Dev docs:** Added/updated

---------

Co-authored-by: Zhaopeng Wang (from Dev Box) <zhaopengwang@microsoft.com>
Co-authored-by: Hao Liu <liuhao3418@gmail.com>
Co-authored-by: Peiyao Zhao <105847726+zhaopy536@users.noreply.github.com>
Co-authored-by: Mengyuan <162882040+chenmy77@users.noreply.github.com>
Co-authored-by: zhaopeng wang <33367956+wang563681252@users.noreply.github.com>
Co-authored-by: Jaylyn Barbee <51131738+Jaylyn-Barbee@users.noreply.github.com>
2025-07-01 14:27:34 +02:00

2.3 KiB

Color Picker

Public overview - Microsoft Learn

All Issues
Bugs
Pull Requests

Overview

Color Picker is a system-wide color picking utility for Windows that allows users to pick colors from any screen and copy them to the clipboard in a configurable format.

Implementation Details

Color Capturing Mechanism

The Color Picker works by following these steps to capture the color at the current mouse position:

  1. Obtain the position of the mouse
  2. Create a 1x1 size rectangle at that position
  3. Create a Bitmap class and use it to initiate a Graphics object
  4. Create an image associated with the Graphics object by leveraging the CopyFromScreen function, which captures the pixel information from the specified location

Core Color Picking Function

The following code snippet demonstrates the core functionality of how a color is picked from the screen:

private static Color GetPixelColor(System.Windows.Point mousePosition)
{
    var rect = new Rectangle((int)mousePosition.X, (int)mousePosition.Y, 1, 1);
    using (var bmp = new Bitmap(rect.Width, rect.Height, PixelFormat.Format32bppArgb))
    {
        var g = Graphics.FromImage(bmp);
        g.CopyFromScreen(rect.Left, rect.Top, 0, 0, bmp.Size, CopyPixelOperation.SourceCopy);

        return bmp.GetPixel(0, 0);
    }
}

Features

  • Pick colors from any pixel on the screen
  • View color information in various formats (RGB, HEX, HSL, etc.)
  • Copy color values to clipboard in configurable formats
  • Color history for quick access to previously selected colors
  • Keyboard shortcuts for quick activation and operation

User Experience

When activated, Color Picker displays a magnified view of the area around the cursor to allow for precise color selection. Once a color is selected, it can be copied to the clipboard in the user's preferred format for use in design tools, development environments, or other applications.