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

            Bug ID: 447293
           Summary: Setting blending modes/opacity/position/names of
                    multiple output layers is not managed
           Product: krita
           Version: 5.0.0-beta5
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: G'Mic for Krita
          Assignee: krita-bugs-n...@kde.org
          Reporter: david.tschumpe...@gmail.com
  Target Milestone: ---

SUMMARY

A few filters of the G'MIC plug-in produce multi-layer output, with sometimes
"information" passed to the host software in order to set the blending mode,
opacity, name and position of each output layer.
With the same kind of information, a G'MIC filter should have access to the
blending mode, opacity, name and position of the input layers passed to the
filter.
Apparently, these "layer information" are not managed by Krita, which made
these filter not working as they should.

For instance, filter "Deformations / Drop Shadow" is one example of such a
filter : it sets the blending mode and a different name to each output layers,
as you can see on the attached screenshot (for GIMP).
See the difference with what you get with Krita (both versions have run the
filter with the same image and default parameters).

* How layer information works?

When calling the plugin, the list `images_names` passed to the plug-in function
`run()` should contains layer information for each layer, passed as a string
formated like this:
`name(STR1),opacity(VALUE2),mode(STR3),pos(VALUE4,VALUE5)`
where : 
- `STR1` is a string that corresponds to the layer name.
- `VALUE2` is a float value between [0,1] that indicates the layer opacity.
-  `STR3` is a string (lowercase) that indicates the blending mode (see
https://github.com/c-koi/gmic-qt/blob/master/src/Host/Gimp/host_gimp.cpp#L175
to see how these strings are defined for GIMP). 
- `VALUE4,VALUE5` are the (x,y) coordinates of the layer, relatively to the
whole image.

Note that this string may not contain all these fields, but only one or two or
three of them, in no particular order.

That's for the filter input. And that's the same for the output : a G'MIC
filter that wants to pass those layer information to the host software will
name its output layers exactly like this, so that the host software can set the
layer name, opacity, blending mode and position accordingly.
As I think there are less blending modes in GIMP than in Krita, feel free to
add your own strings in the style of the existing ones, so that G'MIC can
manage these extra blending modes.

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

Reply via email to