2010-08-17 12 views
6

Estoy buscando una fórmula para convertirlos.Calcular el resultado de RGB de 2 colores, uno es transparente

sé para convertir una transparencia general, es

alfa * nueva + (1 - alfa) * edad

tengo:

Color A : RGB(85, 113, 135) 
Color B : RGB(43, 169, 225) 

color A tiene 90% de opacidad y es colocado encima de Color B, que resulta en

Color C : RGB(65, 119, 145) 

Mi pregunta es, ¿cómo se obtiene Color C? Si sustituyo Color B por otra cosa, ¿cómo obtengo Color C?

Aquí hay otro ejemplo, el mismo color de base:

Color A : RGB(85, 113, 135) 
Color B : RGB(45, 67, 82) 
-------- 
Color C : RGB(65, 109, 131) 

Esos son ejemplos de trabajo realizado con imágenes - Estoy intentando ahora calcular el remanente de color C para que pueda asignar un color de fondo.


ACTUALIZACIÓN, por favor ver la respuesta aceptada. El red en los ejemplos anteriores es extraño: la respuesta aceptada tiene la fórmula correcta para todos los colores, la probé en Photoshop.

+0

Typo en la pregunta? –

+0

¿De dónde obtiene sus ejemplos? ¿Qué programa los creó? ¿Utiliza algún tipo de corrección de color? –

+0

ejemplos son de una página web en la que estoy trabajando, photoshop ha creado las imágenes, pero se están implementando en la web. –

Respuesta

5

Parece que su fórmula es precisamente la fórmula utilizada en sus ejemplos, calculada por componente y redondeada.

R_c: = techo (r_A * alpha) + techo (R_B * (1 - alfa))

G_c := ceiling(G_a * alpha) + ceiling (G_b * (1 - alpha)) 
B_c := ceiling(B_a * alpha) + ceiling (B_b * (1 - alpha)) 

extraño, sin embargo, el componente R no parece seguir las reglas. Me inclino a preguntarme por qué.

+0

'techo (85 * 0.9) = 77' (R-a * alpha) que es más de 65, ¿estoy perdiendo algo? –

+0

@Kerry: No estoy seguro. Escribí un pequeño programa para probar la ecuación y observé que en su caso de prueba, los valores verde y azul se adherían a la fórmula, pero R no. – kbrimington

+0

Su solución es correcta: la revisé en Photoshop y está funcionando bien. Tiene que ver con Firefox de alguna manera. –

Cuestiones relacionadas