注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

mie

 
 
 

日志

 
 

Alpha混合模式:直接 Alpha 和预乘 Alpha  

2011-08-08 19:38:30|  分类: 定期查阅 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
支持的像素格式和 Alpha 模式
http://msdn.microsoft.com/zh-cn/library/dd756766(v=VS.85).aspx#section_9_2


关于 Alpha 模式

关于预乘和直接 Alpha 模式

D2D1_ALPHA_MODE 枚举指示 Alpha 通道是使用预乘 Alpha、直接 Alpha 还是应被忽略并视为不透明。对于直接 Alpha,Alpha 通道指示一个对应于颜色的透明度的值。

请注意,无论目标格式如何,Direct2D 绘制命令和画笔都始终将颜色视为直接 Alpha。

对于预乘 Alpha,每个颜色通道使用 Alpha 值进行缩放。通常,所有颜色通道值都不会大于 Alpha 通道值。如果预乘格式的颜色通道值大于 Alpha 通道值,则标准的源上混合算法会创建加法混合。

在直接 Alpha 和预乘 Alpha 中,Alpha 通道本身的值是相同的。

直接 Alpha 和预乘 Alpha 的区别

使用直接 Alpha 描述 RGBA 颜色时,颜色的 Alpha 值会存储在 Alpha 通道中。例如,若要描述具有 60% 不透明度的红色,请使用以下值:(255, 0, 0, 255 * 0.6) = (255, 0, 0, 153)。值 255 指示全红,153(255 的 60%)指示颜色应具有 60% 的不透明度。

使用预乘 Alpha 描述 RGBA 颜色时,每种颜色都会与 Alpha 值相乘:(255 * 0.6, 0 * 0.6, 0 * 0.6, 255 * 0.6) = (153, 0, 0, 153)。

无论呈现器目标具有何种 Alpha 模式,D2D1_COLOR_F 值始终解析为直接 Alpha。例如,指定 ID2D1SolidColorBrush 的颜色以用于使用预乘 Alpha 模式的呈现器目标时,指定颜色的方法就如同呈现器目标使用直接 Alpha 时一样。使用画笔进行绘制时,Direct2D 会将颜色转换为您的目标格式。

  评论这张
 
阅读(2059)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016