Bug 318027 - Apply inherit alpha layer to itself
Summary: Apply inherit alpha layer to itself
Status: CONFIRMED
Alias: None
Product: krita
Classification: Applications
Component: Usability (other bugs)
Version First Reported In: git master (please specify the git hash!)
Platform: Other Other
: NOR wishlist
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-04-08 11:46 UTC by Bollebib
Modified: 2024-01-28 23:32 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bollebib 2013-04-08 11:46:46 UTC
Inheret alpha masks  strokes outside of a range based on opacity of the layers below in a group.

when you want to actually remove what gets masked you have to merge down the group  (losing at least 2 individual layers) while you might want to keep those .
Another way to circumvent this is to select opacity from thez mask layer,invert it and delete like this.
This is however not flawless as it doesn't work well with feathered surfaces

I suggest a an "apply what is masked" function so that the mask gets applied to the layer itself,without losing layers or having to do sometimes tricky selections.

Reproducible: Always
Comment 1 vanyossi 2013-04-25 21:33:07 UTC
I also believe this function is very much needed to work better with inherited alpha.
I suggest "Apply inherited alpha" as the menu name.
Comment 2 Halla Rempt 2013-04-26 07:07:39 UTC
Okay, I will confirm it. I haven't got a good idea on how to implement it though :-)
Comment 3 Halla Rempt 2016-01-24 11:59:01 UTC
WISHGROUP: Small Usability Fixes
Comment 4 Tiar 2024-01-28 23:32:53 UTC
It would be an equivalent of making a temporary transparency mask out of all the layers below the one we want to apply the alpha inheritance, then merging with that mask.

We need to do it one layer at a time internally due to situations like this:

- Group layer
-- Layer A, alpha inheritance turned on
-- Layer B,
-- Layer C, alpha inheritance turned on
-- Layer D.
(layer A's alpha inheritance masked area is different from layer C's, because layer A's alpha = Layer D + (C) + B's alpha).

There are two questions:
- do we expose an option to do it one layer at a time (just "apply A.I. to this layer") or to all layers inside the group (then an option for a group layer "apply A.I. to all layers inside/all child layers")?
- What do you do with group layers, file layers, clone layers etc.? Maybe we need to add an option "Convert alpha inheritance here to transparency mask" instead for those kinds of layers (then of course the paint layer could have both...)?