Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Color Picker - Support HSL, now for real #611

Open
KillyMXI opened this issue Jul 24, 2022 · 0 comments
Open

Color Picker - Support HSL, now for real #611

KillyMXI opened this issue Jul 24, 2022 · 0 comments
Labels
enhancement Idea of improvement of existing feature.

Comments

@KillyMXI
Copy link

KillyMXI commented Jul 24, 2022

What's the Problem?

"Color Picker & Contrast" toy offers a mode selection, with two options labeled as "HSV" and "HSL".

The truth is, neither of them is actually HSL.
Both are variants of HSV, with parameters rearranged between 2D and 1D sliders.

  • Current "HSV" - HSV with Value on a separate slider;
  • Current "HSL" - HSV with Hue on a separate slider.

There are dropdowns to choose the color model for displayed numeric values. It only offers "RGB" and "HSV" options.

I often need to manipulate colors in HSL color space (I mentioned in #93 before).

More importantly, if you need to adjust the text contrast in your combined toy, Lightness of HSL is the best way to do it (until we dig too deep into the color theory).

Current implementation is (1) mislabeled, (2) suboptimal for it's purposes.

Solution/Idea

  1. Rename existing modes. It's HS+V and H+SV;

  2. Add proper HSL modes;

  3. Add HSL numeric values option;

  4. Rearrange mode dropdowns and numeric fields. Dropdowns under each color seem superfluous. Being able to display sliders and numeric fields of different modes seems unnecessary. There are two possible solutions:

    a. Show RGB numeric values at all times, and additional 3 numeric values according to the currently selected sliders mode;
    b. Introduce RGB mode with RG+B sliders (other permutations optional);

Extras (might worth a separate issue but I think above steps have to be sorted out first):

  1. Make numeric fields mouse-editable (increment, decrement buttons, scroll binding) - as in Unix Timestamp Converter toy;
  2. Add ability to copy/paste CSS strings of colors in different color models .

Example of HSL Saturation+Lightness square, Hue is on a separate (circular) slider:
image
(Note how Lightness goes from always black to always white.)

Examples of HSL Hue+Lightness (left) and Hue+Saturation (right) squares:
example with HL and HS squares

Alternatives

none

Priorities

No response

DevToys Version

Version 1.0.9.0 | X64 | RELEASE | 8bcfa60 | 8bcfa60

Comments

https://en.wikipedia.org/wiki/HSL_and_HSV
https://drafts.csswg.org/css-color/#the-hsl-notation

@veler veler added the enhancement Idea of improvement of existing feature. label Mar 20, 2023
@veler veler added this to the v2.0 milestone Mar 20, 2023
@veler veler removed this from the v2.0 milestone Jun 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Idea of improvement of existing feature.
Projects
None yet
Development

No branches or pull requests

2 participants