在wpf中,设置图片路径有2种方法:

1、xaml文件中,指定路径

 <Button Name="button_set" Click="button_set_Click" Focusable="False" Margin="0,50,50,0" Width="" Height="" HorizontalAlignment="Right" VerticalAlignment="Top" >
<Button.Background>
<ImageBrush ImageSource="pack://application:,,,/Images/icon_setting_off.png" Stretch="Fill"/>
</Button.Background>
</Button>

<Image Margin="310,0,0,0" Width="25" Height="25" HorizontalAlignment="Left" VerticalAlignment="Stretch"

Source="pack://application:,,,/Images/moon.png"/>

2、后台代码设置路径

ImageBrush b = new ImageBrush();
b.ImageSource = new BitmapImage(new Uri("pack://application:,,,/Themes/ZCThemes/skin/icon/card_choosed.png", UriKind.RelativeOrAbsolute));
b.Stretch = Stretch.Fill;
SelectToAddEvent.Background = b; image.Source = new BitmapImage(new Uri("pack://application:,,,/Images/haha.jpg"));
//或
image.Source = new BitmapImage(new Uri("pack://SiteOfOrigin:,,,/Images/haha.jpg"));

WPF 引入了统一资源标识 Uri (Unified Resource Identifier) 来标识和访问资源。

Uri 表达式的一般形式为:协议+授权+路径

  协议:pack://
  授权:有两种。一种用于访问编译时已经知道的文件,用  application:///  一种用于访问编译时不知道、运行时才知道的文件,用 siteoforigin:///
      一般用逗号代替斜杠,也就是改写作application:,,,和pack:,,,
  路径:分为绝对路径和相对路径。一般选用相对路径,普适性更强

装载图片的两种方式,一种用XAML引用资源,一种用代码引用资源。

用XAML引用资源:

<Image Source="pack://application:,,,/images/my.jpg"/>

 < Image Source = "/images/my.jpg" />

用后台代码引用资源:

Image img;
img.Source=new BitmapImage(new Uri("pack://application:,,,/images/my.jpg"),UriKind.Relative);

 image2.Source = new BitmapImage(new Uri("/images/my.jpg", UriKind.Relative));

使用SiteOfOrigin时

imgContent.Source = new BitmapImage(new Uri("pack://SiteOfOrigin:,,,/images/my.jpg"));
 

WPF 中图片的加载 ,使用统一资源标识符 (URI)的更多相关文章

  1. Vue中图片的加载方式

    一.前言 VUE项目中图片的加载是必须的,那么vue中图片的加载方式有哪些呢,今天博主就抽点时间来为大家大概地捋一捋. 二.图片的加载方法 1.在本地加载图片(静态加载) 图片存放assets文件夹中 ...

  2. wpf中使用cefsharp加载本地html网页并实现cs和js的交互,并且cefsharp支持any cpu

    废话少说,直接上代码: 第一步: 第二步: 第三步: 第四步: App.xaml.cs对应的代码: using CefSharp; using CefSharp.Wpf; using System; ...

  3. BMP图片的加载方式:资源 VS 文件

    在程序中加载位图有很多方法,各有各的好处.这里简单说一下在资源里和文件里加载的区别. 第一.在资源里加载位图 这种方法就是在工程里的“资源视图”-->“添加资源”-->"Bitm ...

  4. .net core Wpf中使用cefsharp加载本地html网页,并且cefsharp支持any cpu

    第一步,在程序包管理器安装 cefsharp.wpf 第二步 您必须在项目的第一个 < propertygroup > 中添加 < cefsharpanycpusupport > ...

  5. WP8.1程序开发中,如何加载本地文件资源或安装在程序包中的资源。

    Web 要访问来自 Web 的文件,你可以使用标准的绝对 HTTP URI: <img src="http://www.contoso.com/images/logo.png" ...

  6. imagesLoaded – 检测网页中的图片是否加载

    imagesLoaded 是一个用于来检测网页中的图片是否载入完成的 JavaScript 工具库.支持回调的获取图片加载的进度,还可以绑定自定义事件.可以结合 jQuery.RequireJS 使用 ...

  7. bootstrap中的动态加载出来的图片轮播中的li标签中的class="active"的动态添加移除

    //该方法是在slide改变时立即触发该事件, $('#myCarousel').on('slide.bs.carousel', function () { $("#myCarousel o ...

  8. Android新浪微博客户端(七)——ListView中的图片异步加载、缓存

    原文出自:方杰|http://fangjie.info/?p=193转载请注明出处 最终效果演示:http://fangjie.sinaapp.com/?page_id=54 该项目代码已经放到git ...

  9. Android开发中如何解决加载大图片时内存溢出的问题

    Android开发中如何解决加载大图片时内存溢出的问题    在Android开发过程中,我们经常会遇到加载的图片过大导致内存溢出的问题,其实类似这样的问题已经屡见不鲜了,下面将一些好的解决方案分享给 ...

随机推荐

  1. session源码剖析

    session机制采用的是一种在客户端与服务端之间保持状态的解决方案,由于采用服务器端保持状态的方案在客户端也要保存标识,session机制也要借助于cookie机制达到目的.session保存了客户 ...

  2. ssm知识点整理

    第1章 resultType和resultMap的区别是什么?  MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType ...

  3. ORACLE 查询近一天,近半小时内的数据

    SELECT 字段  FROM 表名  WHERE 时间字段  BETWEEN SYSDATE-1 AND SYSDATE; //查询一天内的数据 sysdate+1 加一天sysdate+1/24 ...

  4. 串口RS232和485通信的波形分析

    一.串行数据的格式 异步串行数据的一般格式是:起始位+数据位+停止位,其中起始位1 位,数据位可以是5.6.7.8位,停止位可以是1.1.5.2位. 起始位是一个值为0的位,所以对于正逻辑的TTL电平 ...

  5. travis-ci 中运行 puppeteer

    通过 travis-ci 可以构建基于 puppeteer 的自动化任务,基于此构建的一个 计划任务 puppeteer中调用需要禁用沙箱环境 https://github.com/GoogleChr ...

  6. [Swift]LeetCode274.H指数 | H-Index

    Given an array of citations (each citation is a non-negative integer) of a researcher, write a funct ...

  7. Java中的数组添加,数组相关代码

    private static void demo() {  // TODO Auto-generated method stub  /**   * @author square 凉   * @功能 实 ...

  8. javascript 使用小技巧总结

    按位取反 ~a 即:返回 -(a+1),会去掉小数点. let a = 3.14; let b = ~a; //b = -(3.14+1) 取整 为-4: let c = ~b; //c = -(-4 ...

  9. pycharm(Python编辑器)的激活

    1.将“0.0.0.0 account.jetbrains.com”中的内容添加到hosts文件中,hosts路径为:C:\Windows\System32\drivers\etc mac用户的hos ...

  10. SpringBoot是如何动起来的

    SpringBoot是如何动起来的 程序入口 SpringApplication.run(BeautyApplication.class, args); 执行此方法来加载整个SpringBoot的环境 ...