Selections on the Adjustment layers
enki
enkithan at free.fr
Wed Sep 2 21:51:18 CEST 2009
I think both built-in and separated masks makes sense :
- Having a separated mask explicitely shows that you can change the
transparency and you're sure your tools will perform the same way.
Another advantage is that you can drag&drop/copy the mask to another
layer easily. When the mask is deleted, the filter layer would be
applied on the whole image.
- But we can also see things the others way around: Paint layers and
Shape layers have built-in transparency too. So maybe it's is more
logical to put a built-in transparency mask in other layer types.
The problem with filter layers is that selections are used as data AND
as a filter for other tools. For example:
- Let's say that I want to paint inside a selection: I can't create that
new selection because if I do, it will overwrites the existing mask data.
- If I erase with a paint tool, it erase the selection, but if I paint,
the selection isn't extended, because paint tools are bound by the
selection.
- I can't use global selections to manipulate pixels.
There is 4 ways to display a mask:
- by the effect it has on its parent.
- as a selection.
- as a greyscale image.
- as a colored overlay.
In our case, we shows two kind of display at the same time(selection +
effect). That's very confusing. It's a bit like mixing two different
charts that use the same data.
I think the built-in mask in filter layer and filter masks should behave
exactly like the transparency mask.
Also, the user should be able to switch from the display mode
(selection, overlay...) when he need to. But that raise new problems :
Vector selections are lost if we convert them to another mode (that
doesn't happen in other editor because they force the user to convert
vector shape to raster selection). But I think an user that really want
to keep his selection will save them in a local selection anyway.
Again, here is the behavior of a well-known graphic editor ;P :
- Any layers can have a mask and it always works the same way.
- Adjustement layer are created by default with a child mask.
- A mask is a channel of the current layer:
*If the mask is set "hidden", its transparency effect is applied on
the layer(default behavior).
*If the mask is set "visible", you see it as a colored overlay.
*If the mask is set "visible" but, other channels are hidden, the
mask is shown as a greyscale image.
(not really user-friendly uh ? ^^)
- You can paint on masks as if it was a greyscale layer. Black =
transparent, white = opaque. That make it easier to use paint tools.
- You can display a selection as an overlay at any moment, paint on it,
and display it as selection again.
- Masks are shown on the same line than their parent layer, so it
doesn't take more space in the layer docker.
Now to resume my thinking :
- All masks must behave the same way, even if built-in a special layer type.
- The current filter layer built-in mask is almost unusable :/.
- Selections should not be allowed to paint/erase pixel directly.
- Mask data and display of that data should be independant.
- The user should be able to switch easily between display mode
(selection/transparency/...).
More information about the kimageshop
mailing list