利用PSD文件给Silverlight程序做样式

  平常我开发APP的时候一般是下面三个过程:首先是网络请求相关API以及其他一些基本类库的开发,其次是APP的功能性开发,最后是对照效果图给APP添加样式。

  而这篇博客讲的是如何利用PSD文件为Silverlight  APP添加样式。(会Silverlight ,WPF,windows phone ,windows 8 metro开发的都可以参考下 )。

  首先,PSD文件就是photoshop文件,设计师在photoshop上设计完效果图后最后的产生的文件就是PSD文件,而我们平常得到的jpg格式的效果图只能说是副产品,因为jpg格式文件你只能看到一个APP的大概效果,但是对于app中的其他信息你就得不到了,比如:字体,颜色,字体大小,间距等等。而PSD文件是包含了所有的信息的。这时候设计师除了相关切图以外还要单独做一份标注文件,标注出字体,颜色,字体大小,间距等信息,以便开发人员制作样式。

  而这里,我想告诉大家的是,对于我们使用Silverlight技术开发的APP,其实设计师只要提供效果图的PSD文件就行了,什么切图啊标注文件啊统统的不要,你要知道没有什么可以比PSD文件更能描述APP的样式了。而这里我之所以只针对Silverlight技术相关的APP,因为对于开发Silverlight技术相关的APP的我们有福了,因为我们有Blend,如果你不知道Blend是什么,这个就像设计师不知道photoshop一样。之所以提到Blend,因为Blend有一项非常强大的功能,而这个功能一般是被我们忽略掉的,就是Blend可以把PSD文件转换成XAML代码,看到这里你应该明白我的意思了。我们开发APP的时候,界面就是用XAML开发的。当然这里也不要太高兴,虽然能转换成XAML文件,但是是静态的,这就类似于网页的开发,网页也有静态网页和动态网页之分。

  下我先给大家看一个效果图(注意我用红线圈出的部分):

对照这张效果图,如果我们做样式,按照一般的方法那么首先就要设计师为我们提供切图(图中红色圈出的部分),其次是标注字体,字体颜色,字体大小,每个元素的间距等等。但是如果我们使用blend来打开这个效果图的PSD文件,我们会发现,图上红色圈出的部分根本不需要切图,因为blend已经自动把这部分转换成Path了,而且你还会发现,文本信息(包括:字体,颜色,大小)也都已经变成TextBlock了,多么的方便啊,Path部分你可以直接拷贝过来用,文本信息可以直接利用blend提取出样式。但是间距就不是这么容易看到的,以为blend对于元素的容器默认是使用canvas的,所以元素的间距就不像文本样式那样容易读出,需要我们根据元素的canvas.left或者canvas.top来计算出来。

  然后我再说下这样做的额外好处,拿blend转换出的Path为例,我们在做按钮的按下效果的时候要么是改变大小,要么是改变透明度,要么是改变内容颜色,或者这三种都有,比如上面图中的“喜欢(爱心)”按钮,当用户点击以后“爱心”的边框要变成红色的,那么如果使用图片的方式的话就需要提供两种图片,来对应按钮不同的状态,但是我们经过blend的转换,“爱心”已经转换成Path了,我们可以通过改变path的fill属性轻松实现这样的功能。这样就减少了切图,也既减少了程序包的体积。

  这里有一个注意到地方,Blend不是对所有的项目都可以提供这个转换功能的,目前我使用发现,如果打开的是windows phone项目是有转换功能的,所以不管开发什么项目,你用blend新建一个windows phone的项目,然后用blend加载psd文件,转换成XAML,我们只需要XAML里面的信息就行了,不用关心是什么项目。

  

原文地址:https://www.cnblogs.com/dagehaoshuang/p/2776933.html