画笔想必大家都不陌生,这里系统的介绍一下好了。先来介绍纯色画笔。

最简单的纯色画笔就是已经定义好名字的啦,比如Red和Green这种,据说一共有256种已命名的,所以基本已经够用啦。XAML解析器会自动将这些颜色名称链接到Color结构。

还有就是传说中的十六进制颜色值,它可以定义精确的24位颜色值,其中有8位用于SolidColorBrush。如下代码所示的,alpha=”FF”,红色=”55”,绿色=”00”,蓝色=”88”。

<Rectangle Width="200" Height="100" Fill="#FF550088" />

还有一种称为属性元素语法。具体用法如下,其中Opacity就是透明度咯。

  <Rectangle Width="200" Height="100"><Rectangle.Fill><SolidColorBrush Color="Yellow" Opacity="0.3" /></Rectangle.Fill></Rectangle>

除了纯色画笔外,还有渐变画笔。小时候学PhotoShop的时候最喜欢渐变画笔了。

LinearGradientBrush会沿着一条称为渐变轴直线来进行渐变以绘制一个区域。我们还是拿Rectangle来做示例。

   <Rectangle Width="200" Height="100"><Rectangle.Fill><LinearGradientBrush StartPoint="0,0" EndPoint="1,1"><GradientStop Color="Green" Offset="0.0" x:Name="GradientStop1"/><GradientStop Color="Blue" Offset="0.25" x:Name="GradientStop2"/><GradientStop Color="Wheat"  Offset="0.7" x:Name="GradientStop3"/><GradientStop Color="Yellow" Offset="0.75" x:Name="GradientStop4"/><GradientStop Color="Gold" Offset="1.0" x:Name="GradientStop5"/></LinearGradientBrush></Rectangle.Fill></Rectangle>

通过改变StartPoint和EndPoint的属性值可以创建各种渐变哦,比如垂直和水平方向的渐变,还可以颠倒渐变方向,甚至还可以加快渐变速度呢。

除了用着两种画笔外,还可以直接将图片添加进来呢。

 <Ellipse Height="100" Width="200"><Ellipse.Fill><ImageBrush ImageSource="9327.jpg" /></Ellipse.Fill></Ellipse>

效果如下咯,主要是有一张合适的图片啦。

既然用到了ImageBrush,那就来看看Image和ImageBrush的区别好了。前者主要用来呈现图像,后者则为其他对象绘制为一个图像。

对于Image,我们可以来拉伸图像,也就是Stretch属性。

None:图像不经过拉伸。如果源图像比所留给Image的区域大,那么就会被剪切。
Uniform:按照纵横比来缩放图像。
UniformToFill:按照纵横比来填满所有区域,这意味着可能会有一部分不可见。
Fill。因为不保留纵横比而填满屏幕,所以图像部分全部可见,但会产生画面变形(失真)。
具体效果见下图(来源于网络)。

用Clip属性可以对图像进行剪裁,Rect属性在上一篇博客中用过许多次,前2个值为起始点的X轴和Y轴坐标,后2个值为终点的X轴和Y轴坐标。

<Image Source="9327.jpg"><Image.Clip><RectangleGeometry Rect="10,10,100,100"/></Image.Clip>
</Image>

Image和ImageBrush能处理的图像格式有哪几种呢?
JPEG XR
图标(ICO)
位图(BMP)
图像交换格式(GIF)
联合图像专家组(JPEG)
可移植网络图像(PNG)
标记图像文件格式(TIEF)

为使本文得到斧正和提问,转载请注明出处:
http://blog.csdn.net/nomasp

【万里征程——Windows App开发】画笔和图像相关推荐

  1. 【万里征程——Windows App开发】应用栏

    基本的用法我们在 [万里征程--Windows App开发]页面布局和基本导航中已经讲过了,这里继续补充关于应用栏的更多用法. Icon 在之前的学习中,我们知道Icon属性中有很多很多系统预定义,但 ...

  2. 【万里征程——Windows App开发】SemanticZoom视图切换

    相信用过Windows Phone或者Windows 8/8.1/10的朋友对下面这张截图肯定不陌生.这就是通过SemanticZoom来实现的,当数据过多时,这种控件尤其适用.它有一个放大视图Zoo ...

  3. 【万里征程——Windows App开发】开发准备

    操作系统及SDK 操作系统 如果打算开发Windows App,那么你的电脑就不能再用老旧的Windows 7了.推荐使用Windows 8.1.写这篇博客的时候,我用的操作系统是Windows 10 ...

  4. 【万里征程——Windows App开发】动态磁贴

    动态磁贴是什么,相信大家用了这么久的Windows 8/8.1/10早就非常了解了吧. 像什么小磁贴.中磁贴.宽磁贴.大磁贴,还有这里的应用商店Logo等,大家在下面根据不同的分辨率选择合适的图片就好 ...

  5. 【万里征程——Windows App开发】DatePickerFlyout、TimePickerFlyout的使用

    已经有挺长时间没有更新这个专栏了,不过刚才有网友私信问我一个问题现在就火速更新上一篇~ 这一篇讲解在WP上DataPickerFlyout和TimePickerFlyout的使用,但它们只能在WP上跑 ...

  6. 【万里征程——Windows App开发】DatePickerTimepicker

    在前面我们走马观花地介绍了一大堆控件,其中自然也包括这DatePicker和TimePicker,那么稍微高级些的用法呢? 如果你想做一个关于健身.闹钟等的App,那么不可避免的会用到时间这些控件了. ...

  7. 【万里征程——Windows App开发】数据绑定——简单示例、更改通知、数据转换...

    简单的数据绑定示例 相比于理论,我更倾向于从实践中开始博客,尤其是对于数据绑定.那么,我们先来看看几个简单的例子. 1.数据绑定到TextBox 我们依旧使用前面的闹钟类来开始.在下面的代码中,我们有 ...

  8. 【万里征程——Windows App开发】使用Toast通知

    前面我们使用了 MessageDialog来作为弹窗,这里来介绍一个更加高大上的Toast通知. Toast通知本质上动力是由XML来提供的,一开始我还不相信不知道XML原来有这么大的威力.现在就来看 ...

  9. 【万里征程——Windows App开发】文件数据——文件选取器

    使用文件选取器保存文件 就我个人而言,还是非常喜欢使用文件选取器的,因为能够用自己的代码来调用系统的各种弹框. 在这个示例中,首先在XAML中添加一个Button和一个TextBlock,分别命名为b ...

最新文章

  1. 【技术干货】如何进行低功耗设计和开发
  2. 网页轻松展示CV、NLP模型,连你老爸都会操作 | 斯坦福出品
  3. python 类成员变量是否存在_python中类变量与成员变量的使用注意点总结
  4. 被冻结的钱,银行可以私自处理吗?
  5. 颠覆未来世界的十大科技
  6. 阿里巴巴云原生大数据运维平台 SREWorks 正式开源
  7. 【Java】访问控制
  8. Leetcode 344:Reverse String 反转字符串
  9. linux 批量ping ip脚本,Linux下批量ping某个网段ip的脚本
  10. HTML img标签无法居中
  11. OpenJudge 1.6.4
  12. 94个JS/eTS开源组件首发上新,肯定有你要用的一款
  13. 共享电车“享骑”押金退还花样多啊
  14. VK1668 SSOP24兼用TM1668的LED数码驱动芯片
  15. web兼容性测试 _ Web测试指南(四)
  16. js对div取值与赋值
  17. MySQL数据类型 -- 日期时间型
  18. Python爬取20778套深圳二手房并数据分析
  19. clamp漫画作品集
  20. 系统架构师谈企业应用架构之业务逻辑层

热门文章

  1. 内外交困,直播商业化寡头博弈困境:向左或是向右走?
  2. isdigit函数python 小数_学习:python str.isdigit() 有浮点数的判断
  3. 【微信小程序】实现上拉加载更多
  4. swagger-ui 转换成文档
  5. 火花、火种、火炬——中国软件外包企业创新观察
  6. FISCO BCOS 区块链
  7. cad批量等高线lisp,利用AUTOLISP自动绘制等高线的尝试
  8. delphi random_random函数详解 ,随机函数 全
  9. 基于Gromacs模拟软件分析小分子配体与蛋白结合之后的稳定性
  10. 如何开发一个chrome浏览器插件