颜色混合理解_辉常乐的博客-

最后更新 :2023-03-07 09:02:25

1、概念: “混合”是指两种颜色的叠加方式。在新图片将要渲染画到屏幕上的时候,将用在新图片中的红、绿、蓝和透明度信息(RGBA),与屏幕上已经存在的图片颜色信息相融合。(只会改变新图片的大小范围内) “源颜色”:即新图片的颜色码(因为就是以新图片为对象,进行渲染) ”目标颜色“:屏幕上已存在的图片颜色(新图片的大小范围内的屏幕颜色,其他范围不受影响) OpenGL会把源颜色和目标颜色各自取出,并乘以一个系数 “源因子”:源颜色乘以的系数称为“源因子” “目标因子”:目标颜色乘以的系数称为“目标因子” 2、计算公式 假设:颜色信息的四个分量(红,绿,蓝,透明度) (1)“源颜色” :(Rs, Gs, Bs, As) (2)“目标颜色”:(Rd, Gd, Bd, Ad) (3)“源因子” :(Sr, Sg, Sb, Sa) (4)“目标因子”:(Dr, Dg, Db, Da) 那么混合产生的新颜色可以表示为: (RsSr + RdDr , GsSg + GdDg , BsSb + BdDb , AsSa + AdDa) 常见的混合因子 GL_ZERO 全部不用 (0 , 0 , 0 , 0) GL_ONE 全部使用 (1 , 1 , 1 , 1) GL_SRC_COLOR 使用源颜色 (Rs , Gs , Bs , As) GL_DST_COLOR 使用目标颜色 (Rd , Gd , Bd , Ad) GL_ONE_MINUS_SRC_COLOR 减去源颜色 (1-Rs , 1-Gs , 1-Bs , 1-As) GL_ONE_MINUS_DST_COLOR 减去目标颜色 (1-Rd , 1-Gd , 1-Bd , 1-Ad) GL_SRC_ALPHA 使用源颜色的透明度 (As , As , As , As) GL_DST_ALPHA 使用目标颜色的透明度 (Ad , Ad , Ad , Ad) GL_ONE_MINUS_SRC_ALPHA 减去源颜色的透明度 (1-As , 1-As , 1-As , 1-As) GL_ONE_MINUS_DST_ALPHA 减去目标颜色的透明度 (1-Ad , 1-Ad , 1-Ad , 1-Ad)

使用方法 (平时使用需要加画布,不然背景也会进行混合) local node = D.imgc(“g/button/btn_play.png”):to(layer) node:setBlendFunc(”源因子“,“目标因子”) 默认的混合模式 node:setBlendFunc(GL_ONE,GL_ONE_MINUS_SRC_ALPHA) 源颜色:全部使用 目标因子:减去源颜色的透明度 我们图片,才会不显示透明 利用透明度会有特殊的效果:

通常使用的混合模式 node:setBlendFunc(GL_ONE,GL_ONE)

可以进行颜色的混合(可以达到红+绿=黄的效果) 缺陷(颜料混合) (技术难点,RGB转CMYK,实现不太好,如果成功,可以“为所欲为”) 如:上图所示(最终混合为白色,这符合光的混合但不符合颜料的混合) 由于光的颜色是RGBA码,颜料的CMYK码 首先将CMYK转成RGBA码,在屏幕呈现出来(保存CMYK),进行CMYK码的叠加运算(C = C1+ C2, M = m1 + m2 等,越值处理一下),在建CMYK呈现出来达到颜料的混合效果 青 + 黄变成绿

三基色:叠加变成黑色,不在是白色

CMYK转RGB的公式 function M:cmytorgb(c,m,y,k) local node = {} node.r = 255 (1 - c) (1 - k) node.g = 255 (1 - m) (1 - k) node.b = 255 (1 - y) (1 - k) return cc.c3b(node.r,node.g,node.b) end rgb码转CMYK码不太行 function M:rgbtocmy(r,g,b) local node = {} local R = r / 255 local G = g / 255 local B = b / 255 local K = 1 - math.max(R,G,B) node.c = (1 - R - K)/(1 - K) node.m = (1 - G - K)/(1 - K) node.y = (1 - B - K)/(1 - K) node.k = K return node end

- END -

hummer,通用新“四大天王”来袭,同一平台打造,个个堪称“开山之作”!_

不管是日益严苛的排放标准、“双积分”的压力,还是新能源汽车私人用户比例节节攀升的市场...

国家留学基金委好申吗(美签之家:不要拒签了才来后悔,美签之家分享CSC背景通过秘籍)

美签之家不要拒签了才来后悔美签之家分享背景经过秘笈有关帮助背景哀求美国签证对否可以...