|Summary:||Changing HDR colors in the HSV editor does not roundtrip correctly|
|Product:||[Applications] krita||Reporter:||erjiang <erjiang>|
|Component:||Color Selectors||Assignee:||Krita Bugs <krita-bugs-null>|
|Version:||nightly build (please specify the git hash!)|
|Latest Commit:||Version Fixed In:|
|Attachments:||Screen capture of buggy color dialog|
Description erjiang 2023-03-27 00:48:27 UTC
Created attachment 157613 [details] Screen capture of buggy color dialog SUMMARY Color picker dialog does not allow Value > 100%. STEPS TO REPRODUCE 1. Create new document using ACEScg color profile (linear), 16-bit float 2. In the Brushes and Stuff toolbar, double-click on the foreground color swatch to select a color 3. Enter the values R: 3.5, G: 3.0, B: 1.5 4. Switch to HSV, see that value=100%. Click down arrow for value to lower to 99%, then click up to go back to 100%. OBSERVED RESULT Value selector is limited to 100% maximum. Switch back to RGB, see that original RGB values are lost. EXPECTED RESULT Value selector should have shown 350% and not be limited to 100% (if image format allows it). SOFTWARE/OS VERSIONS Using krita-5.2.0-prealpha-8550960a23-x86_64.appimage
Comment 1 Halla Rempt 2023-03-30 14:02:43 UTC
Well, nothing can ever be more than 100%. Given that, I'm not sure that an accurate roundtrip between a real unbounded colorspace (floating point RGB) and HSV (which is a fake colorspace) is actually possible. Maybe for the HDR colorspaces we should disable the HSV tab or make the entry fields read-only.
Comment 2 erjiang 2023-03-31 02:09:40 UTC
> Well, nothing can ever be more than 100%. For example, RGB(1.0, 1.0, 1.0) has value=1.0. Is RGB(2.0, 2.0, 2.0) not value=2.0? I found some demo code demonstrating HSV controls where V can be greater than 1: http://phrogz.net/tmp/hdrhsv.html There is a straightforward use case, which is to sample the color of an emissive object, adjust the value higher, and then paint it in. For example, color picking a light, bumping up value to 500%, then painting it back in to brighten the light. Also, I was playing around with Krita today and somehow my dual-color picker decided that RGB(2.10, 2.10, 2.10) is equivalent to value 50% and RGB(9.65, 9.65, 9.65) is value 100%. If I figure out how to reproduce I'll file another bug for that.