hikaru755

joined 2 years ago
[–] hikaru755@lemmy.world 2 points 1 day ago* (last edited 1 day ago)

If you want perceptual accuracy, HSV won't do anything for you, under the hood it still operates in the same RGB space so any math you do in it won't be perceptually linear. You'll want to transform into a perceptually based color space like OKLCH first.

The dark red in question, #0f0000, corresponds to oklch(0.1058 0.0434 29.23), in which 29.23 is the hue component that we need to change to get from red to orange. Pure orange (#ffa500) is oklch(0.7927 0.171 70.67), so we can take the 70.67 from that and plug it into the dark red value to get oklch(0.1058 0.0434 70.67). That would be the orange that has perceptually the same* brightness and saturation as the dark red. Unfortunately, that color is so dark and saturated that current displays can't show it. The closest color to it in the RGB space would be #0c0200 which is only half as saturated, but that's the closest you're gonna get.

Here's a super cool online tool that let's you play around in the OKLCH color space with nice visualizations: https://oklch.com/#0.1058,0.0434,70.67,100

* color perception is really difficult, and there are several perceptual color spaces that will all give you slightly different "proper" results, but all of them are vastly better than just using RGB/HSV.