microsoft/PowerToys

Color picker returns incorrect values when an icc color profile is used on monitor

Open

#11,585 opened on Jun 3, 2021

View on GitHub
 (9 comments) (5 reactions) (0 assignees)C# (7,978 forks)batch import
Help WantedIdea-EnhancementProduct-Color Picker

Repository metrics

Stars
 (133,154 stars)
PR merge metrics
 (Avg merge 14d 20h) (117 merged PRs in 30d)

Description

Microsoft PowerToys version

0.37.2

Running as admin

  • Yes

Area(s) with issue?

ColorPicker

Steps to reproduce

If your monitor has an icc profile applied, the return values differs from what is actually stored in the program that displays the color.

✔️ Expected Behavior

It seems to be a problem on screenshots in general and I guess color picker uses screenshot functionnality at some point. If I do a screenshot when having an icc profile, I have to go to photoshop and assign my icc monitor profile on the image, then convert to srgb to get the good values back.

There should be 2 options for icc profile for color picker :

  • 1 to set the icc profile of the monitor
  • 1 to choose the desired icc profile for output the value (srgb by default I guess).

The value displayed in the color picker would be first assigned in the color space of the monitor then converted to the output icc profile choosen.

As a bonus, there should be an hotkey to do this color assign/convert to images in the clipboard. So you can make a screenshot, do the color correction with hotkey directly in the clipboard, then just paste the image in the document.

❌ Actual Behavior

As an example I color picked the red "Issue-Bug" label on the right of this bug report.

The color picked value is returned as : rgb(199, 55, 23) But in the source of the page, the correct value is : rgb(230, 0, 0)

Other Software

No response

Contributor guide