以OpacityMask设计半透明遮罩

以OpacityMask设计半透明遮罩,第1张

概述  OpacityMask是一个相当好用的属性,通过OpacityMask与Brush的配合,您可以为任意图形加上一个透明遮罩,我们先看一个简单的例子:   上图左方是一个标准的图形,而右方则是加上OpacityMask遮罩之后的结果,其Xaml代码如下:      您会发现,我们可以通过OpacityMask用笔刷来刷某一个元素,刷的方式是采用反透明遮罩的方式。请参考下图,假设原始图案是最左方的


  OpacityMask是一个相当好用的属性,通过OpacityMask与Brush的配合,您可以为任意图形加上一个透明遮罩,我们先看一个简单的例子:

  上图左方是一个标准的图形,而右方则是加上OpacityMask遮罩之后的结果,其Xaml代码如下:

  

  您会发现,我们可以通过OpacityMask用笔刷来刷某一个元素,刷的方式是采用反透明遮罩的方式。请参考下图,假设原始图案是最左方的图形,而遮罩(Opacity Mask)若是下图中间这样,则刷出来的图形则是下图右方:

  请参考范例(下载),我们利用绘图软件建立了一个底下这样的图档(名称为OpacityMask.png):


然后编写底下的xaml代码:


  呈现出的结果如下图:


  通过这样的技术,我们可以轻易地在画面上呈现出相当有美感的图形,例如以特定的手绘的爱心外框,作为照片的遮罩,作出坊间影像处理特效。

  不仅是图形的部份,就算是影片,Silverlight也可以利用遮罩来呈现出特殊效果:


  代码如下:


  请读者务必注意,用以作为遮罩的图片必须是支持透明背景的图片格式(请特别注意是透明的图片背景,而不是白色的图片背景),读者可参考书附光盘范例中的图片OpacityMask.png,以了解此格式。


本文范例(下载)


资料来源: Silverlight权威讲座--ASP.NET整合秘技与独家案例剖析(董大伟 - 旗标) 

总结

以上是内存溢出为你收集整理的以OpacityMask设计半透明遮罩全部内容,希望文章能够帮你解决以OpacityMask设计半透明遮罩所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1055218.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存