微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.net – WPF – 控制半透明层之间的混合

在数字成像中,当覆盖两个视觉层时,有多种方法可以计算图像,当来自较低层的光以某种方式照射通过障碍层时会产生图像.这可以提供不会出现自然现象的效果,例如倍增颜色.

以下是Photoshop中提供的图层混合模式菜单的示例:

http://www.psdtop.com/blog/wp-content/images/020_Blending-Modes/blending-mode.jpg

如果这个主题不是您熟悉的话,我建议您访问文章Understanding Blending Modes.它提供了针对两个层的每个选项的结果的精彩展示.

据我所知,WPF只提供“正常”选项.也就是说,以下UI只是混合颜色,就像它们是彩色凝胶一样:

<Grid>
  <Ellipse Width="40" Height="40" Fill="#80FF0000" Margin="16,0" />
  <Ellipse Width="40" Height="40" Fill="#8000FF00" Margin="32,32,0" />
  <Ellipse Width="40" Height="40" Fill="#800000FF" Margin="0,0" />
</Grid>

看起来像这样:

http://img4.imageshack.us/img4/5541/temprx.png

我想知道是否有任何方法可以控制图层混合的方式.

解决方法

您正在寻找的是混合模式,如果你google它你会发现很多
.
这是一个简单的 example如何使用像素着色器实现它.你会使用 multi-input shader effect.

这是一个非常好的complete tutorial,它引导您使用多输入着色器效果创建可重复使用的混合模式库.

混合模式作为WPF API的固有部分,自早期的CTP以来经常是requested,但从未将其作为产品.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐