前景色fgcolor=(r1,g1,b1,alpha)

背景色bgcolor=(r2,g2,b2)

那么最后显示的颜色为(r2,g2,b2),r2=(r2*(256-a)+r1*alpha)/256,其它颜色一样计算。

java中绘制带有alpha的png图片的时候 先把rgb颜色和alpha值跟当前背景计算一下,然后再用gc的alpha和当前背景色做计算 得到最终显示的颜色。

static void __test_fb_alpha_mix(const uint32_t* p_bg_color,const uint32_t* p_fg_color, uint32_t len)
{uint32_t* p_bg_clr = (uint32_t*)p_bg_color; /* background color */uint32_t* p_fg_clr = (uint32_t*)p_fg_color; /* foreground color */for (uint32_t i = 0; i < len; i++) {uint8_t* p_bg_r = (uint8_t*)p_bg_clr + 0; /* background red   color*/uint8_t* p_bg_g = (uint8_t*)p_bg_clr + 1; /* background green color*/uint8_t* p_bg_b = (uint8_t*)p_bg_clr + 2; /* background blue  color*/uint8_t* p_fg_r = (uint8_t*)p_fg_clr + 0; /* foreground red   color*/uint8_t* p_fg_g = (uint8_t*)p_fg_clr + 1; /* foreground green color*/uint8_t* p_fg_b = (uint8_t*)p_fg_clr + 2; /* foreground blue  color*/uint8_t* p_fg_a = (uint8_t*)p_fg_clr + 3; /* alpha */*p_fg_r = ((*p_bg_r * (256 - *p_fg_a) + (*p_fg_r) * (*p_fg_a)) / 256);*p_fg_g = ((*p_bg_g * (256 - *p_fg_a) + (*p_fg_g) * (*p_fg_a)) / 256);*p_fg_b = ((*p_bg_b * (256 - *p_fg_a) + (*p_fg_b) * (*p_fg_a)) / 256);p_bg_clr++;p_fg_clr++;}
}

RGB颜色中关于Alpha通道的计算相关推荐

  1. 四通道图像中的alpha通道

    在图像处理中,Alpha用来衡量一个像素或图像的透明度.在非压缩的32位RGB图像中,每个像素是由四个部分组成:一个Alpha通道和三个颜色分量(R.G和B).当Alpha值为0时,该像素是完全透明的 ...

  2. 1、去除图像中的alpha通道或透明度

    自从appstore提交app改变后,虽然提交的流程还是和原来一样,但是相比以前还是有很大的改动,本来就不太喜欢 English,改版之后很多东西都变了,开发一个app就已经够他妈的蛋疼啦,上传一个a ...

  3. 去除图像中的alpha通道或透明度

    自从appstore提交app改变后,虽然提交的流程还是和原来一样,但是相比以前还是有很大的改动,本来就不太喜欢 English,改版之后很多东西都变了,开发一个app就已经够他妈的蛋疼啦,上传一个a ...

  4. 图像格式中的Alpha通道是指什么?

    Alpha 是出现在 32 位位图文件中的一类数据,用于向图像中的像素指定透明度. 24 位真彩文件包含三种颜色信息通道:红.绿和蓝或 RGB.每个通道在各个像素上都拥有具体的强度或值.每个通道的强度 ...

  5. 【APICloud系列|32】iOS 上架去除Icon图像中的alpha通道或透明度

    上架的时候你们有没有遇到过这个问题?? 打开图片的"显示简介",你会发现有个叫"alpha通道"的东西,(如果是"是"你的图片就不能上架)如 ...

  6. Alpha通道是什么意思,和rgb通道有什么区别

    Alpha通道是什么意思,和rgb通道有什么区别 Alpha通道: 阿尔法通道是一个8位的灰度通道,该通道用256级灰度来记录图像中的透明度信息,定义透明.不透明和半透明区域,其中白表示不透明,黑表示 ...

  7. Alpha 通道的概念与功能

    RGBA         采用的颜色是RGB,可以属于任何一种RGB颜色空间,但是Catmull和Smith在1971至1972年间提出了这个不可或缺的alpha数值,使得alpha渲染和alpha合 ...

  8. 什么是Alpha通道

    [该文转发自从] 我在我学习ps的过程中,对于alpha通道的理解总是不如意,指导后来看了这篇文章,才感觉畅快淋漓!那种感觉真是太棒啦,后来在知乎,发现关于此问题没有得到很好的解答,特此贴上该文,以享 ...

  9. 关于RGB颜色与十六进制颜色

    文章目录 RGB颜色与十六进制颜色的数值转换 通过QQ或微信的截图工具获取当前屏幕的颜色值 RGB颜色与十六进制颜色的数值转换 先来感受一下两种颜色值的大致形状: RGB(11,111,222) 十六 ...

  10. 计算色光叠加的RGB颜色的alpha值

    两个rgb颜色,在做透明或参入效果的色光叠加的时,需要设定一个alpha数值来调整透明或色彩参透的效果.由于需要取出一叠加的两个色彩在叠加时的alpha值,顺手做了一个在线小工具来反向计算alpha数 ...

最新文章

  1. kali 改root_Kali Linux 将默认以非 root 身份运行
  2. 【Binder 机制】Native 层 Binder 机制分析 ( binder_loop | svcmgr_handler | binder.c | binder_parse )
  3. CTFshow 反序列化 web278
  4. Boost正则表达式的编译与使用方法集
  5. P2580-于是他错误的点名开始了【Trie,字符串】
  6. 对Java的URL类支持的协议进行扩展的方法
  7. Linux主机通过直连线直连,【IT基础】网线的直连线与交叉线之间的区别
  8. C#操作Cookie
  9. mac更新之后vmware fusion下vmware tools报错
  10. Vue之v-if, v-else, v-show, v-for, v-bind
  11. 《Head First设计模式》
  12. 微信小程序常用图标大全1
  13. 计算机无法安装VC2015,win10 vc++2015一个或多个问题导致了安装失败如何处理
  14. 在Realview MDK中添加自己的FLASH编程算法
  15. 海风教育荣获“中国(行业)典范品牌”
  16. 数据结构 查找 的思维导图
  17. 【golang学习总结】10 golang中map用法
  18. No module named ‘skimage‘的问题及解决
  19. 冒烟测试和回归测试的区别
  20. zblog php 优化,Zblog单页面优化,Zblog后台地址修改

热门文章

  1. 初学者如何学习好嵌入式开发?讲解嵌入式学习教程
  2. 互联网公司裁员,中年失业找不到工作,大龄程序员的出路在哪里
  3. iOS开发各种证书问题
  4. 数据库表同义词mysql修改_SQLServer中同义词Synonym的用法
  5. [BZOJ5064]B-number
  6. 【第104期】游戏策划:如何看待另一半沉迷游戏?
  7. steam的游戏id怎么查?
  8. 计算机毕业设计php的网络投票在线投票系统
  9. base64解码成16进制字符串--python3
  10. 10年老程序员:到底是学前端好还是后端好?