https://bugs.kde.org/show_bug.cgi?id=380327

            Bug ID: 380327
           Summary: HSV blending modes do not correctly handle source
                    saturation
           Product: krita
           Version: 3.1.2
          Platform: MS Windows
                OS: MS Windows
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: Color models
          Assignee: krita-bugs-n...@kde.org
          Reporter: sky...@quantentunnel.de
  Target Milestone: ---

Created attachment 105766
  --> https://bugs.kde.org/attachment.cgi?id=105766&action=edit
Overview of wrong (Krita) and correct (Gimp) HSV blending

The result of blending a color-layer and value-layer with HSV layer blending
modes "HSV Color" and "HSV value" appears to be not correctly calculated (maybe
similar issues with HSL, HSY...).

To be: In the Krita result of the attached overview (top right figure),
vertical y-axis slices (like the orange line) should represent gradients with
same hue+saturation and increasing value from top to bottom. Like it is
correctly implemented in Gimp (top center figure). Saturation and value in HSV
mode are independent of each other. Value refers to the MAX(r, g, b) while
saturation determins the ratio between MIN(r, g, b) and MAX(r, g, b). The value
affects all RGB channels proportionally (multiply).

As is: Instead of constant saturation over the whole vertical slice, the
saturation in the top part is all 100% and decreases from a certain point
towards the bottom from 100% to 0%. The extracted saturation channel (right
figure) illustrates the problem, where the whole top left half of the demo
setup composition is 100% saturated, which not at all corresponds to the
initial redscale color gradient.
Looking at the change in RGB values along the orange section of top right
figure from bottom (white) to top (black), the absolute values are reduced in
parallel, more or less by the same amount (subtract). I suppose here's a
problem in the formula, as the ratio between R, G and B should be constant.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to