RGB颜色中关于Alpha通道的计算
前景色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通道的计算相关推荐
- 四通道图像中的alpha通道
在图像处理中,Alpha用来衡量一个像素或图像的透明度.在非压缩的32位RGB图像中,每个像素是由四个部分组成:一个Alpha通道和三个颜色分量(R.G和B).当Alpha值为0时,该像素是完全透明的 ...
- 1、去除图像中的alpha通道或透明度
自从appstore提交app改变后,虽然提交的流程还是和原来一样,但是相比以前还是有很大的改动,本来就不太喜欢 English,改版之后很多东西都变了,开发一个app就已经够他妈的蛋疼啦,上传一个a ...
- 去除图像中的alpha通道或透明度
自从appstore提交app改变后,虽然提交的流程还是和原来一样,但是相比以前还是有很大的改动,本来就不太喜欢 English,改版之后很多东西都变了,开发一个app就已经够他妈的蛋疼啦,上传一个a ...
- 图像格式中的Alpha通道是指什么?
Alpha 是出现在 32 位位图文件中的一类数据,用于向图像中的像素指定透明度. 24 位真彩文件包含三种颜色信息通道:红.绿和蓝或 RGB.每个通道在各个像素上都拥有具体的强度或值.每个通道的强度 ...
- 【APICloud系列|32】iOS 上架去除Icon图像中的alpha通道或透明度
上架的时候你们有没有遇到过这个问题?? 打开图片的"显示简介",你会发现有个叫"alpha通道"的东西,(如果是"是"你的图片就不能上架)如 ...
- Alpha通道是什么意思,和rgb通道有什么区别
Alpha通道是什么意思,和rgb通道有什么区别 Alpha通道: 阿尔法通道是一个8位的灰度通道,该通道用256级灰度来记录图像中的透明度信息,定义透明.不透明和半透明区域,其中白表示不透明,黑表示 ...
- Alpha 通道的概念与功能
RGBA 采用的颜色是RGB,可以属于任何一种RGB颜色空间,但是Catmull和Smith在1971至1972年间提出了这个不可或缺的alpha数值,使得alpha渲染和alpha合 ...
- 什么是Alpha通道
[该文转发自从] 我在我学习ps的过程中,对于alpha通道的理解总是不如意,指导后来看了这篇文章,才感觉畅快淋漓!那种感觉真是太棒啦,后来在知乎,发现关于此问题没有得到很好的解答,特此贴上该文,以享 ...
- 关于RGB颜色与十六进制颜色
文章目录 RGB颜色与十六进制颜色的数值转换 通过QQ或微信的截图工具获取当前屏幕的颜色值 RGB颜色与十六进制颜色的数值转换 先来感受一下两种颜色值的大致形状: RGB(11,111,222) 十六 ...
- 计算色光叠加的RGB颜色的alpha值
两个rgb颜色,在做透明或参入效果的色光叠加的时,需要设定一个alpha数值来调整透明或色彩参透的效果.由于需要取出一叠加的两个色彩在叠加时的alpha值,顺手做了一个在线小工具来反向计算alpha数 ...
最新文章
- kali 改root_Kali Linux 将默认以非 root 身份运行
- 【Binder 机制】Native 层 Binder 机制分析 ( binder_loop | svcmgr_handler | binder.c | binder_parse )
- CTFshow 反序列化 web278
- Boost正则表达式的编译与使用方法集
- P2580-于是他错误的点名开始了【Trie,字符串】
- 对Java的URL类支持的协议进行扩展的方法
- Linux主机通过直连线直连,【IT基础】网线的直连线与交叉线之间的区别
- C#操作Cookie
- mac更新之后vmware fusion下vmware tools报错
- Vue之v-if, v-else, v-show, v-for, v-bind
- 《Head First设计模式》
- 微信小程序常用图标大全1
- 计算机无法安装VC2015,win10 vc++2015一个或多个问题导致了安装失败如何处理
- 在Realview MDK中添加自己的FLASH编程算法
- 海风教育荣获“中国(行业)典范品牌”
- 数据结构 查找 的思维导图
- 【golang学习总结】10 golang中map用法
- No module named ‘skimage‘的问题及解决
- 冒烟测试和回归测试的区别
- zblog php 优化,Zblog单页面优化,Zblog后台地址修改