broken backwards compatibility

Silvio Heinrich plassy at web.de
Thu Apr 28 20:43:13 CEST 2011


On 04/28/2011 07:46 PM, Boudewijn Rempt wrote:
> Well, consistency with the way other apps work is important too, especially since our users will likely use a range of applications. I'm not sure I understand all implications, though.

Ok... I try to explain it better.
I think we can only maintain compatibility with other applications but 
not UI-consistency (or consistency in usability, or whatever).
Right now we are trying to maintain compatibility with Gimp and 
Photoshop but this two applications really behave different when it 
comes down
to compositing. For compositing Photoshop uses some kind of wighted 
average (or whatever) to mix the source color into the resulting color and
recalculates the alpha value accordingly when the destination color is 
semi transparent but Photoshop does this only for compositing while 
painting.
And you can disable this by locking the alpha channel in Photoshop. Gimp 
doesn't use this at all (besides the "Normal" blending mode").
Gimp behaves for all blending modes expect "Normal" like if the alpha 
channel is locked.

And now we are here with Krita.
Krita doesn't distinguish internally between compositing the brush 
strokes and layer composition (it uses the same code).
To make it compatible to Photoshop I implemented the blending mode 
computations after the specs of Adobe.
And since Krita doesn't distinguish between the two compositing types I 
only could bring this all together by adding the "disable alpha" button
so that the user can choose what he/she prefers.

This explanation maybe wasn't so clear, too... hmm... I'm not good at this.
Maybe short:
- Inverting the alpha channel will alter the default behavior of the 
"Normal" blending mode (leads to incompatibility to both Gimp and Photoshop)
- making it completely consistent to Gimp will destroy Photoshop 
consistency (and vice versa)

I thought I found a good way in the middle of both applications.
But I'm of course open for suggestions on how I can get rid of this 
inconsistencies without introducing other inconsistencies :D

Thx for listening :D



More information about the kimageshop mailing list