计算RGBA以匹配RGB颜色

计算RGBA以匹配RGB颜色

本文介绍了计算RGBA以匹配RGB颜色的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 如果我有一个RGB颜色,100%不透明度。 我想要一个透明的alpha通道的相同颜色(或接近它)。我将在白色背景上绘制透明的颜色。 如何计算RGBA颜色? 猜猜我要问的是这个问题的对立。解决方案你的意思是你想要的RGBA颜色的最大透明度,当绘制在白色背景的顶部,给出原始的RGB颜色? 让 R , G 是原始颜色的组件,每个范围从0.0到1.0,并且让 R , B 和 A 是新RGBA颜色的组件( A = 1表示100%不透明度)。我们知道颜色必须满足:如果我们知道 ,我们可以很容易地解决 R ,和 B : : − 1 + A )/ A = 1− (1− )/ A G G − 1 + )/ (1− )/ A B − 1 + )/ (1− B )/ A 由于我们需要 R ≥ 0, G ≥ 0和 B ≥ 0,则1& R ≥ A,1− G ≥ A和1− B   A,因此 A 的最小可能值为: Ps。对于黑色背景,相同的公式甚至更简单: Pps。只是为了澄清,上面的所有公式是非 -preplied RGBA颜色。对于预乘α,只需乘以 A 计算的 R , G 和 B ,即:which, if we knew A, we could easily solve for R, G and B:Since we require that R ≥ 0, G ≥ 0 and B ≥ 0, it follows that 1 − R ≥ A, 1 − G ≥ A and 1 − B ≥ A, and therefore the smallest possible value for A is:Thus, the color we want is:Ps. For a black background, the same formulas would be even simpler:Pps. Just to clarify, all the formulas above are for non-premultiplied RGBA colors. For premultiplied alpha, just multiply R, G and B as calculated above by A, giving:(or, for a black background, simply R = R, G = G and B = B.) 这篇关于计算RGBA以匹配RGB颜色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
08-07 05:55