WPF程序有时需要适配不同大小的屏幕,图片是像素图的话,拉伸之后会变模糊,影响美观度,因此可以考虑使用矢量图。网上找到了相应的介绍:http://learnwpf.com/post/2006/06/04/How-do-I-Include-Vector-Based-Image-Resources-in-my-WPF-Application.aspx。但是里面提到的AI插件不是很好用,相比之下,微软提供的Expression Design 4还是方便些,现在该软件已经免费,可以直接去官网下载。

1.在Expression Design 4中加载已有的*.ai矢量文件,选中需要转换的图形元素,然后点击File|Export,选择导出xaml文件即可。

需要注意的地方,如果*.ai文件图层中存在,里面的图形元素是无法正确导出的。需要将其移出到该组外面,再选中导出即可。

2.按照上面参考链接中的例子,将导出的xaml文件中cavas部分代码复制到ControlTemplate中,如下:

    <ControlTemplate x:Key="CellPhone">
<Viewbox Stretch="Uniform">
<Canvas Width="20.008" Height="21.3254" Clip="F1 M 0,0L 20.008,0L 20.008,21.3254L 0,21.3254L 0,0">
<Canvas Width="800.32" Height="599.776" Canvas.Left="0" Canvas.Top="0">
<Path Width="20.008" Height="21.3253" Canvas.Left="0" Canvas.Top="-3.05176e-005" Stretch="Fill" Fill="#FF2179BF" Data="..."/>
</Canvas>
</Canvas>
</Viewbox>
</ControlTemplate>

 3.在原来需要引用图片的地方,引用上述替换xaml即可,如:

<Button Name="btnCellPhone"  ToolTip="手机">
<ContentControl Template="{StaticResource CellPhone}" />
</Button>

  

最新文章

  1. Conversion Operators in OpenCascade
  2. 用volley在Genymotion上获取网页源码
  3. JMeter中的关联-正则表达式提取(1)
  4. 在JSP页面中输出完整的时间
  5. [redis] 征服Redis系列
  6. openStack使用宿主机监控
  7. sun.misc.BASE64Encoder找不到包,解决方法
  8. iOS 环信集成问题(连文档都不说明的坑。。)
  9. uva12519
  10. Xamarin.Android 水平对齐与垂直对齐
  11. Linux中对逻辑卷进行扩容与缩小
  12. 基准对象object中的基础类型----列表 (四)
  13. windows添加永久静态路由
  14. git常用命令以及如何与fork别人的仓库保持同步
  15. SSH管理
  16. Restful framework【第五篇】解析器
  17. QWidget窗体中使用Q_OBJECT后无法添加背景图片或背景色
  18. 【洛谷P1828】香甜的黄油
  19. PreparedStatement用途
  20. “一键制作启动u盘失败”的主要原因是什么?

热门文章

  1. 子元素position:absolute定位之后脱离文档流,怎么使子元素撑开父元素
  2. linux 新机器的配置(git + nodejs+ mongodb)
  3. Java内置包装类
  4. 获取ScrollView ListView的当前位置的百分比
  5. Confluence 6 计划任务
  6. 树形dp 入门
  7. JavaScript(JS)之Javascript对象
  8. Vue中使用Vue.component定义两个全局组件,用单标签应用组件时,只显示一个组件的问题和 $emit的使用。
  9. ORA-27157 ORA-27300 ORA-27301
  10. Python模拟人猜数过程(折半查找)