开发者社区> 杰克.陈> 正文

通通玩blend美工(1)——荧光Button

简介: 原文:通通玩blend美工(1)——荧光Button   最近老大出差去了,光做项目也有点烦,写点教程消遣消遣(注:此乃初级教程,所以第一个消遣是本人消遣,第二个是指供各位看官消遣...)   看着各位大虾出系列文章貌似挺好玩的,本人耍了2个月的Wpf,有点见解,希望各位看官笑纳。
+关注继续查看
原文:通通玩blend美工(1)——荧光Button

  最近老大出差去了,光做项目也有点烦,写点教程消遣消遣(注:此乃初级教程,所以第一个消遣是本人消遣,第二个是指供各位看官消遣...)

  看着各位大虾出系列文章貌似挺好玩的,本人耍了2个月的Wpf,有点见解,希望各位看官笑纳。本系列第一章就先来点简单又实用的吧o(∩_∩)o 哈哈..

最终效果如下:

←点它

 本人一直在做WPF算是第一次做silverlight,这样主要是为了能够在博客里更好的展示成品 。(特别鸣谢银光中国提供的免费silverlight空间)

 

 

1.总体思路


 

分析上面效果--button为一个发光的三角形在MouseOver和click的时候有响应的动画效果...

 发光的三角形:由2个空心三角形构成,其中下面一层那个被加入了BlurEffect效果。

 

 

 2.设计过程


 

 打开blend,新建  silverlight应用程序+网站  (这些我就不浪费口水了) 

 首先我们来画一个等腰三角形的路径..如何让它等腰呢?我们这里利用了一点几何常识....

看到左边工具栏里面的图形

我们先画一个矩形,然后再画一个矩形的内接圆(由于blend对图形绘制时的定位有吸附效果,所以很容易画出内接圆)

 然后用钢笔工具(P)连接3个切点,注意画的时候可以按住shift键来画,这点和PS一样可以让线保持在某几个角度范围,这样线就可以画的很直

可以把圈圈和框框del了,剩下三角形,根据自己需求调好角度和边框粗细,颜色等。(调角度时按shift也有效果哦)

然后我们把画好的三角形再CtrlV、CtrlC复制一份出来,把上面一层的边框颜色改为白色,如下图(有必要说明一下,因为XAML为解释性语言,后面创建的控件会覆盖在前面创建的控件上,这就导致图层结构显示和PS刚好相反,如下图,下面的Path在上面一层图层)

然后我们为下层的三角添加Effect效果,点新建,选BlurEffect.

         

 做好后如下图:

再反复调下面一层三角形的Effect.Radius和边框粗细和颜色,直到自己想要的效果

作为一个Button它有点太大了,我们用选择工具(V)在画布上框选,或在左边树状结构里选中两个Path调节到自己想要的尺寸。

然后把它两加入到一个Grid里面,方法如下图。或者也可以选中两个图形后用快捷键Ctrl+G。

然后右键Grid,构成控件...

我们选择Button确定。

然后我们就发现真的变成Button了也~

我们把Button.Content的内容清空

我们进入编辑Button的模版,选中Button点下图中Grid就可进入

结构如下

我们选Grid,把它的背景色设为任意一个颜色,然后把透明度调为0(如果不这样做的话,空心三角形的内部为空的部分响应不了鼠标事件)

作为一个Button当然要有MouseOver的效果咯。

我们点状态选项栏,选中MouseOver状态,把作为发光虚化的三角形的边框改为另外一个颜色,再添加Normal状态到MouseOver的过度为0.3秒,这样让变化有个过程。如下图

同理,我们添加Pressd状态的样式,这里我们把整个Grid向右稍微移动一点,可以选中grid后用方向键→来调整,这样保证在一条水平线上。同样添加到其他任意状态的过度,如下图。

最后一步,按F5看一下你的成果吧~~!

源码下载:http://files.cnblogs.com/tong-tong/SilverlightApplication1.rar


 

在做上面这个Demo的时候突然有个想法,实施了下,效果不错,就作为耐心看完本教程的朋友的奖励吧~~

 

 

由于silverlight中没有VisualBrush所以实现倒影略显繁琐....

同样附上源码:http://files.cnblogs.com/tong-tong/SilverlightApplication1-%E5%89%AF%E6%9C%AC.rar

感谢各位的围观,喜欢的话,就推荐一下吧~~

 马上要到北京出差,刚毕业第一次出差还是有点兴奋,从小在云南长大的我都没见过可以落到地上的雪,希望到了北京不会被冻成冰雕...囧

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
+关注
杰克.陈
一个安静的程序猿~
10427
文章
2
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载