Patch: Many composite/blend modes mostly compatible to Adobe Photoshop (c)
Boudewijn Rempt
boud at valdyas.org
Fri Jan 14 13:30:23 CET 2011
On Wednesday 12 January 2011, Silvio Heinrich wrote:
> Phew... I think I've gone a bit mad with the blending modes :D.
> I added a few. When counting everything together there should be nearly
> 40 compositing modes now.
> All modes should trait partly transparent layers as Photoshop is doing
> it and all modes should
> respect the channel flags.
> But there are two problems with this patch:
>
> 1. I used a pretty generic approach. So it relies on the compiler to do
> proper inlining. And i didn't use the optimized multiply functions. I
> had a few problems with those functions, because it seems the give no
> correct results but approximations. So I still need to check out which
> composite modes will work with the optimized functions. I just want to
> say that it could be that this is a bit/much slower then the current
> implementation (i don't know how much time you spend in optimizing this).
> I personally haven't noticed any speed impact but I've got a 3GHz quad
> core, so i think i will be the last
> who will notice this.
>
> 2. The "Hue" and "Saturation" modes are not working correctly but the
> "Luminosity" and "Color" modes work exactly as in Photoshop. I coded the
> algorithms after the ISO 3200-1 spec. Adobe released the texts they gave
> to the ISO committee for specification. You can find them here:
> http://www.adobe.com/devnet/pdf.html
> http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf
> (direct link)
>
> go to the category "Transparency" -> "Basic Composition Computations".
> This spec is of course for PDFs but it seems that Photoshop uses the
> same formulas.
> Since "Luminosity" and "Color" modes are working i think i made some
> mistake in implementing the
> "setSat" function (on page 327). Maybe someone else has an
> enlightenment, because I'm working in the dark right now :D.
>
> But apart from this two problems everything else should work fine
> (hopefully).
>
I'll try to take a look at it this weekend -- though I'm also supposed to do work-work on saturday, and I wanted to look into the colorselector_ng memory usage. But don't think this huge amount of work has gone unnoticed!
--
Boudewijn Rempt | http://www.valdyas.org, http://www.krita.org
More information about the kimageshop
mailing list