用像素叠加轻松实现图片的半透明混合

分类:计算机等级

|

更新时间:2016-07-07|

来源:转载

半透明的混合效果经常在游戏里看到,效果那叫一个好。有天好奇心起,想琢磨一下这种效果是怎么实现的。可是自己没学过数字图像处理和图形学,于是只好凭直觉猜测了。

按照生活经验,将两个胶片叠在一起时会有半透明效果,于是设想:从位图A和B中对应位置各取一点Pa、Pb,分别求取Pa和Pb的RGB三个分量,并将对应分量求均值后拼装成一个新的颜色,这样就是透明度为一半的混合效果了。按这个思路试了试,发现运气真好。

实现RGB拼装的函数很简单,此处仅说明原理,未作优化:

/**//*

* alpha mix demo

*/

inline COLORREF AlphaPixel(UINT alpha, COLORREF clr1, COLORREF clr2)

{

double k = (double)alpha / 256.0;

double reverse_k = 1.0 - k;

BYTE r = BYTE( GetRValue(clr2) * k + GetRValue(clr1) * reverse_k );

BYTE g = BYTE( GetGValue(clr2) * k + GetGValue(clr1) * reverse_k );

BYTE b = BYTE( GetBValue(clr2) * k + GetBValue(clr1) * reverse_k );

return RGB(r, g, b);

}

细心的读者从上面代码可以发现,随着alpha参数由0-255的变化,混合效果可以实现全透明--不透明的渐变。

c语言图像透明度混合,用像素叠加轻松实现图片的半透明混合相关推荐

  1. 深圳创凯电子公司多视频底图像素叠加

    转帖网站:http://www.ty360.com/2009/2009_8_25491.htm 如果本文侵犯了您的权利,请及时留言.本人道歉并及时删除! 功能概述 CK4PV4系列大屏拼接器是深圳创凯 ...

  2. 从图像到语言:图像标题生成与描述

    从图像到语言:图像标题生成与描述 大家好,我是苏州程序大白,五一假都过去三天了.大家可以学习起来.今天我们讲讲图像到语言.欢迎大家一起讨论.还有请大家多多支持.关注我.谢谢!!! 1.图像简单标题生成 ...

  3. 【Android 内存优化】自定义组件长图组件 ( 获取图像宽高 | 计算解码区域 | 设置图像解码属性 复用 像素格式 | 图像绘制 )

    文章目录 一.获取图像真实宽高 二.计算解码区域 三.设置解码参数 内存复用 像素格式 四.图像绘制 五.执行效果 六.源码及资源下载 官方文档 API : BitmapRegionDecoder 在 ...

  4. 【Android 内存优化】Bitmap 图像尺寸缩小 ( 考虑像素密度、针对从不同像素密度资源中解码对应的 Bitmap 对象 | inDensity | inTargetDensity )

    文章目录 一.像素密度对解码图片的影响 二.不考虑像素密度会导致图片缩小尺寸不准确 三.DisplayMetrics 源码阅读.研究手机资源获取规则 四.像素密度参数设置取值 ( inDensity ...

  5. 【自然语言处理】【多模态】BLIP:面向统一视觉语言理解和生成的自举语言图像预训练

    BLIP: 面向统一视觉语言理解和生成的自举语言图像预训练 <BLIP: Bootstrapping Language-Image Pre-training for Unified Vision ...

  6. (CVPR2022) 跨语言图像弱监督语义分割CLIMS

    开源仓库:https://github.com/CVI-SZU/CLIMS CLIMS: Cross Language Image Matching for Weakly Supervised Sem ...

  7. 8月AI论文GitHub十强榜出炉!语言-图像模型连斩Top2

      视学算法报道   编辑:LRS [导读]GitHub上榜项目靠谱,拿来就能用! 看完一篇AI论文,要是发现代码没公开,心就得凉半截,瞬间对实验结果都要开始怀疑. 最近有网友收集了八月份发表的106 ...

  8. R语言ggpattern填充各种色彩、形状、纹理、图片到ggplot2可视化图像:图案填充列表、饼图图案填充、柱状图图案填充

    ​R语言ggpattern填充各种色彩.形状.纹理.图片到ggplot2可视化图像:图案填充列表.饼图图案填充.柱状图图案填充 目录

  9. R语言ggpattern填充各种色彩、形状、纹理、图片到ggplot2可视化图像中示例

    R语言ggpattern填充各种色彩.形状.纹理.图片到ggplot2可视化图像中示例 目录 R语言ggpattern填充各种色彩.形状.纹理.图片到ggplot

最新文章

  1. How to Convert Array to ArrayList in Java?
  2. 21、深入浅出MFC学习笔记,Application Framework简介
  3. Extjs 集合了1713个icon图标的CSS文件
  4. 5道python基础中while循环练习题
  5. 在面试中如何展示虚拟机和内存调优技能
  6. excel中如何将时间戳转换为日期格式
  7. Orchard CMS前台页面为什么没有Edit链接?
  8. 网络原理往期考试题+部分详解+最终版
  9. 被未知进程占用端口的解决办法
  10. 前端学习(3308):redux项目创建和概况
  11. php查询记录是否存在,php – 如果记录存在,我可以更新记录,如果不存在,可以在单个查询中更新多行吗?...
  12. Qt resizeEvent 控件居中设置
  13. k8s 1.16安装metrics server
  14. 【Flutter】Dart的数据类型listMap(数组和字典)
  15. Coin3D三维可视化教程4
  16. 节约里程算法java实现
  17. 金蝶K3系统定制国际销售日报表
  18. 如何阅读一本书——阅读笔记+个人体会【建议写书评或文献综述前读读这本书】
  19. sis最新地址获取方法_SIS系统在制药行业内的运用—奥格经典案例
  20. C++PrimerPlus 学习笔记 | 第八章 函数探幽 |3.默认参数 4.函数重载

热门文章

  1. 操作系统--并发与并行
  2. Spectral normalization及torch实现
  3. 【Mysql】记一次生产CPU使用率突然剧增,内存一直飚高不下故障问题排查 (com.mysql.jdbc.MysqlIO.readFully)
  4. 如何把视频格式转换mp4格式?试试嗨格式视频转换器
  5. 【MySQL】之排名函数
  6. python 3d绘图旋转_如何更改Matplotlib 3d旋转(mplot3d)的鼠标交互样式?
  7. 微信小程序:previewImage实现图片放大预览效果
  8. H5 div移动效果
  9. BZOJ 4666 小z的胡话
  10. 在网上卖药需要什么资质?入驻平台需要什么条件