OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

# cgmo-webcgm message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Re[2]: [cgmo-webcgm] Drawing model (take 2)

• From: Lofton Henderson <lofton@rockynet.com>
• To: Benoit Bezaire <benoit@itedo.com>
• Date: Thu, 20 Apr 2006 09:30:53 -0600

```At 10:51 AM 4/20/2006 -0400, Benoit Bezaire wrote:
>BTW, I forgot to mention (again), that the examples are using a 'argb'

Right, I'm fine with that.

>Any way, it doesn't seem to be the source of your question. As I said
>in this version of the wording "all color values use premultiplied
>alpha".

Okay, I missed the implication of that in the equations.  So "all color
values" -- does that mean that Cr,Cg,Cb are also premultiplied by Ca,
before plugging into the equations?  (None of the examples answer that
question.)

Btw, just out of curiosity...

I have come across "premultiplied alpha" before.  Why is that a popular way
to express the equations?  From a mathematical and intuitive perspective,
non-premultiplied Pr,Pg,Pb is clearer, at least to me:

Cr' = (1 - Pa)*Cr + Pa*Pr

It looks like a linear interpolant, of the Cr and the Pr at the an
intermediate point defined by the alpha.  (You can probably tell that my
graphics history does not include writing a rasterizer!).

Finally, Esc.45 says,

result = alpha*foreground + (1-alpha)*background

So the expression in Esc45 is NOT pre-multiplied, correct?

-Lofton.

>So fully transparent red is not (0,1,0,0) it is (0,0,0,0). That should
>work.

```

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]