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

Dmitry Kazakov <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|CONFIRMED                   |RESOLVED
         Resolution|---                         |FIXED
      Latest Commit|                            |https://invent.kde.org/grap
                   |                            |hics/krita/-/commit/753107e
                   |                            |08aa03dd1949b2043cc1b17e5ce
                   |                            |3c85de

--- Comment #7 from Dmitry Kazakov <[email protected]> ---
Git commit 753107e08aa03dd1949b2043cc1b17e5ce3c85de by Dmitry Kazakov.
Committed on 15/01/2026 at 12:26.
Pushed by dkazakov into branch 'master'.

Force SVG gradients to work in premultiplied alpha mode

WARNING: That is against SVG2 specification!

All internal Krita structures, including GUI editor, expect the gradients to
work
in premultiplied alpha mode. The change that happened in SvgParser in 2021
changed the behavior of the loading code only. All GUI controls still create
premultiplied gradients, which caused inconsistencies when loading gradients
created in Krita.

What we need to do is to implement a proper support of non-premultiplied
gradients. That includes the following:

1) All GUI controls should support switching the two modes:

   * Stop Gradient Editor
   * Segment Gradient Editor

2) A proper backward compatibility should be present when loading
    gradients from external buffers:

    * SVG gradients (it is a part of .kra format)
    * ASL gradients (questionable)
    * Gimp gradients (questionable)
    *  XML gradietns saved in Fill Layers and Filters

3) Raster gradients painted with KoMixOp should also support
    non-premultiplied mode

4) FgToTransparent auto-gradient should  properly handle the
    "FgTransparent" option.

CC:[email protected]

M  +5    -3    libs/flake/svg/SvgParser.cpp
M  +2    -0    libs/flake/tests/TestSvgParser.cpp

https://invent.kde.org/graphics/krita/-/commit/753107e08aa03dd1949b2043cc1b17e5ce3c85de

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

Reply via email to