Problems with "embedded" transparency masks onto adj. layers

Dmitry Kazakov dimula73 at gmail.com
Thu Sep 10 19:17:47 CEST 2009


On Thu, Sep 10, 2009 at 12:06 PM, Boudewijn Rempt <boud at valdyas.org> wrote:

> On Wednesday 09 September 2009, Dmitry Kazakov wrote:
>
> > In current realization we get wrong result - we just copy alpha() channel
>
> It might be instead of a bug in Krita a bug in the alpha colorspace's
> implementation of the OVER composite op. That looks like it has changed
> since
> 1.6. I'll investigate that a bit.
>


First, current realization does NOT use COMPOSITE_OVER by default. It uses
COMPOSITE_ALPHA_DARKEN instead [0].
I don't know why (and it still looks quite strange for me) but Cyrille said
ALPHA_DARKEN "is more beautiful". I can't say anything about that.

Even if we decide to use COMPOSITE_OVER, it won't solve the problem at all.
Before drawing on canvas dab of the brush will be converted to alpha8()
automaticaly by pigment. It means that dab will loose(!) all it's color
information and only brush's alpha-mask will be used as a source of
painting. More than that, the bitBlt WON'T have any useful alpha mask to
control painting (as a colorspace has only one channel and it is used as a
source of bitBlt). This means that whole rectangle will be painted onto the
canvas and any composition type is simply _not applicable_ here(!) as we do
not have useful alpha mask for painting.


It's not "a change from 1.6". Painting on the selection simply hadn't been
planned in the design of classes.
And the fact that IndirectPainting simply CAN'T be applied to selections
speaks for that.




[0] - see kis_tool_freehand.cc:326 for more

-- 
Dmitry Kazakov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/kimageshop/attachments/20090910/ee82da2a/attachment.htm 


More information about the kimageshop mailing list