(1条消息) RGBA alpha 透明度混合算法

Alpha 透明度混合算法,网上收集整理,分成以下三种:

一、 R1,G1,B1,Alpha1 为前景颜色值,R2,G2,B2,Alpha2 为背景颜色值,则

前景色  R = R1 * Alpha1 + R2 * Alpha2 * (1-Alpha1) ;

G = G1 * Alpha1 + G2 * Alpha2 * (1-Alpha1) ;

B = B1 * Alpha1 + B2 * Alpha2 * (1-Alpha1) ;

背景色 Alpha = 1 - (1 - Alpha1) * ( 1 - Alpha2) ;

R = R / Alpha ;

G = G / Alpha ;

B = B / Alpha ;

二、半透明算法:
      混合算法目前在常用到的算法是AlphaBlend。
      计算公式如下:假设一幅图象是A,另一幅透明的图象是B,那么透过B去看A,看上去的图象C就是B和A的混合图象,
      设B图象的透明度为alpha(取值为0-1,1为完全透明,0为完全不透明).
      Alpha混合公式如下:
                  R(C)=(1-alpha)*R(B) + alpha*R(A)
                  G(C)=(1-alpha)*G(B) + alpha*G(A)
                  B(C)=(1-alpha)*B(B) + alpha*B(A)
      R(x)、G(x)、B(x)分别指颜色x的RGB分量原色值。从上面的公式可以知道,Alpha其实是一个决定混合透明度的数值。
      改变这个 alpha 值可以得到一个渐变的效果。

分离RGB色用"位与"、"移位"运算的方法;

透明的比例按2的N次幂来分级,这样可以快速运算。
      如果是按32级
      Alpha = 1/32
      B图的权重 = (32-n)/32,则A图的权重= n/32,

可以得到这样的算法:

R(C)= (32-n) * R(B)+ n* R(A);
     再对R(C)右移5位(除以32)就可以了
 
    透明的处理:
       假设指定B上的黑色透明色,则碰到B上的颜色为黑色,则不显示黑色,改为显示A上这个位置的颜色。

三、简易Alpha混合算法:首先,要能取得上层与下层颜色的 RGB三基色,

然后用r,g,b 为最后取得的颜色值;r1,g1,b1是上层的颜色值;r2,g2,b2是下层颜色值

若Alpha=透明度,则

当Alpha=50%时,

r = r1/2 + r2/2;

g = g1/2 + g2/2;

b = b1/2 + b2/2;

当Alpha<50%时,

r = r1 - r1/ALPHA + r2/ALPHA;

g = g1 - g1/ALPHA + g2/ALPHA;

b = b1 - b1/ALPHA + b2/ALPHA;

当Alpha>50%时,

r = r1/ALPHA + r2 - r2/ALPHA;

g = g1/ALPHA + g2 - g2/ALPHA;

b = b1/ALPHA + b2 - b2/ALPHA;

(0)

相关推荐

  • PS图层混合模式教程,浅色混合模式剖析

    浅色混合模式:分别计算上下层图像同位置像素通道值的总和,再对上下两个像素的总和进行亮度对比,直接舍弃暗的,保留亮的,结果色不会对像素的RGB值进行重组.结果色是混合色和基色当中明度较高的那层颜色,结果 ...

  • PS图层混合模式教程,变暗混合模式深度剖析

    变暗混合模式:对同一个位置像素颜色的RGB值进行重新组合.分别取上下两个图层里面较暗(R.G.B值小的)的值. 我们来看下图层变暗混合模式在实际平面设计工作过程中的应用. 左下角素材正常混合模式效果 ...

  • Ae:图层混合模式

    Ae 的图层混合模式与 Ps 中的混合模式从原理和应用上来讲大同小异. 本文主要解释了 Ae 中独有的一些混合模式,与 Ps 相同的混合模式可参阅相关链接. ◆  ◆  ◆ 正常组 只有当像素的不透明 ...

  • (1条消息) 漫画:呕心泣血算法指导篇(真正的干货,怒怼那些说算法没用的人)

    今天是小浩算法"365刷题计划"第70.5天.我们暂停一天,我自己有个很喜欢的话,叫做 "练习 - 坚持 - 总结 - 提高",我们已经练习了 70 天,如果不 ...

  • (3条消息) 梯度算法求步长的公式

    本文主要对计算机视觉图像配准中搜索空间算法引发讨论,即当图片配准后,讨论下一步怎么办,往哪个方向,多大步长的进行搜索.是一种优化算法 本文将介绍设计到的基本的数学知识.一阶优化算法.针对多阶方程的梯度 ...

  • (1条消息) 跳槽必刷算法题系列(一)

    今天是小浩算法 "365刷题" 第104天 问:程序员最讨厌康熙的哪个儿子. 答:胤禩. 01 PART 搜索二维矩阵 这道题目非常的高频!看起来是在考察矩阵搜索,其实和矩阵一点关 ...

  • (1条消息) 必须掌握的超高频旋转算法题目!

    今天是小浩算法 "365刷题计划" 第103天.分享的这道题虽然很简单,但是在笔试或者面试当中,出现的频率却非常高. 01 PART 旋转字符串 经典常考类算法题目. 第796题: ...

  • (1条消息) 诞生自疫情的小浩算法(零)

    (今天的文章,一定要看到最后) 今天我要水文了, 因为我又要加班了. 但和之前不一样的是, 这次水文会以连载的形式出现. 当然,绝对不会天天水. 顶多就是在我不得不加班的时候, 拿出来, 伺候一下各位 ...

  • (1条消息) 漫画:骚操作系列(ctrl+c 和 ctrl+v 的算法问题)

    今天为大家分享一道关于"复制"+"粘贴"的题目. 话不多说,直接看题. 01 第650题:只有两个键的键盘 第650题:最初在一个记事本上只有一个字符 'A'. ...

  • (1条消息) 漫画:排序算法系列 第一讲(利用插入算法思想解题)

    在本系列中,将为大家讲解排序算法相关内容.同时,由于网上排序相关的教程太多了,我会尽可能的讲解一些不一样的内容.而不是按照 排序讲解 标准Titile,什么"十大排序算法",&qu ...

  • (13条消息) 国密SM9算法C++实现之一:算法简介

    SM9标识密码算法是由国密局发布的一种IBE(Identity-Based Encryption)算法.IBE算法以用户的身份标识作为公钥,不依赖于数字证书.国密SM9算法标准包括5个文档,分别为:  ...

  • (11条消息) 国密算法概述

    国密即国家密码局认定的国产密码算法,即商用密码. 国密算法是国家密码局制定标准的一系列算法.其中包括了对称加密算法,椭圆曲线非对称加密算法,杂凑算法.具体包括SM1,SM2,SM3等,其中: SM2为 ...