Domanda

Sto cercando una formula per convertirli.

So di convertire una trasparenza generale, è

* alpha new + (1 - alfa) * vecchia

ho:

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

Colore A ha il 90% di opacità ed è posto sulla cima di colore B, con conseguente

Color C : RGB( 65, 119, 145 )

La mia domanda è, come si ottiene Colore C? Se io colore sostitutivo B per un'altra cosa, come faccio ad avere colori C?

Ecco un altro esempio, lo stesso colore di base:

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

Questi sono esempi realizzati con le immagini di lavoro -. Sto cercando di ora calcolare il restante Colore C in modo da poter assegnare un colore di sfondo


aggiornamento, vedere la risposta accettata. Il red negli esempi di cui sopra è strano -. La risposta accettata ha la formula corretta per tutti i colori, ho provato in Photoshop

È stato utile?

Soluzione

Sembra che la formula è proprio la formula utilizzata nei tuoi esempi, calcolato per componente, e arrotondato per eccesso.

R_C: = massimale (R_A * alpha) + soffitto (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))

Strano, però, la componente R non sembra seguire le regole. Sono incline a chiedersi perché.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top