Alex Rivera | Logout

Convert RGBA color to RGB

Asked 2010-01-12T13:31:53.133
95

How to convert a RGBA color tuple, example (96, 96, 96, 202), to corresponding RGB color tuple?

What I want is to get a RGB value which is most similar to the RGBA tuple visually on white background.

Edit
Report

1 Answer

48

hm... regarding to

http://en.wikipedia.org/wiki/Alpha_compositing#Alpha_blending

solution provided by Andras Zoltan should be slightly changed to:

Source => Target = (BGColor + Source) =
Target.R = ((1 - Source.A) * BGColor.R) + (Source.A * Source.R)
Target.G = ((1 - Source.A) * BGColor.G) + (Source.A * Source.G)
Target.B = ((1 - Source.A) * BGColor.B) + (Source.A * Source.B)

This changed version works fine for me, because in prev. version rgba(0,0,0,0) with matte rgb(ff,ff,ff) will be changed to rgb(0,0,0).

answered 2010-04-15T12:36:41.537

Your Answer