在数字成像中,当覆盖两个视觉层时,有多种方法可以计算图像,当来自较低层的光以某种方式照射通过阻碍层时会产生图像.这可以提供不会出现自然现象的效果,例如倍增颜色.
以下是Photoshop中提供的图层混合模式菜单的示例:
http://www.psdtop.com/blog/wp-content/images/020_Blending-Modes/blending-mode.jpg
如果此主题不是您熟悉的内容,我建议您访问" 了解混合模式 "一文.它提供了针对两个层的每个选项的结果的精彩展示.
据我所知,WPF只提供"正常"选项.也就是说,以下UI只是混合颜色,就像它们是彩色凝胶一样:
<Grid>
<Ellipse Width="40" Height="40" Fill="#80FF0000" Margin="16,0,0,0" />
<Ellipse Width="40" Height="40" Fill="#8000FF00" Margin="32,32,0,0" />
<Ellipse Width="40" Height="40" Fill="#800000FF" Margin="0,32,0,0" />
</Grid>
Run Code Online (Sandbox Code Playgroud)
看起来像这样:
http://img4.imageshack.us/img4/5541/temprx.png
我想知道是否有任何方法可以控制图层混合的方式.
如何在不牺牲性能的情况下在WPF(使用MVVM)中对图像进行着色/着色?纯粹的XAML解决方案将是理想的,因为修改代码中的位图将导致大量更改图像的性能损失.图像不仅仅是简单的形状,因此无法使用路径.