WPFのImage控件souce引入的方法总结
1、后台代码相对路径添加(若为绝对路径,换UriKind的属性即可)
BitmapImage testBitmapImage = new BitmapImage(new Uri(@"\bin\Sources\ON_btn_AutoDetect.bmp", UriKind.Relative));
image1.Source = imagetemp;
2、后台代码二进制添加
private string path = @"F:\1.jpg";
private void Window_Loaded(object sender, RoutedEventArgs e)
{
using (BinaryReader loader = new BinaryReader(File.Open(path, FileMode.Open)))
{
FileInfo fd = new FileInfo(path);
int Length = (int)fd.Length;
byte[] buf = new byte[Length];
buf = loader.ReadBytes((int)fd.Length);
loader.Dispose();
loader.Close();
//开始加载图像
BitmapImage bim = new BitmapImage();
bim.BeginInit();
bim.StreamSource = new MemoryStream(buf);
bim.EndInit();
image1.Source = bim;
GC.Collect(); //强制回收资源
}
3、前台代码直接添加(图片在项目中的视图仅是视图作用,其实已经放入源码某个文件夹下)
完整的协议:
编译时知道的文件:
<Image Source="pack://application:,,,/images/my.jpg"/>
运行才知道的文件:(别的资源引用本程序集dll)
<Image Source="pack://siteoforigin:,,,/images/my.jpg"/>
(其中,,,表示是 ///的缩写,当然也可以指定程序集)
示例:
<Image Source="Images/Desert.jpg"/>
4、后台代码添加本地(电脑上)的图片
try
{
BitmapImage bi = new BitmapImage();
// BitmapImage.UriSource must be in a BeginInit/EndInit block.
bi.BeginInit();
StreamResourceInfo info = Application.GetRemoteStream(new Uri("pack://siteoforigin:,,,/" + e.NewValue.ToString(), UriKind.RelativeOrAbsolute));
bi.StreamSource = info.Stream;
bi.EndInit();
// Set the image source.
window.BgImage.Source = bi;
}
catch (UriFormatException ue)
{
ErrorMessage.Show(ERROR.FIND_PATH_ERRIMAGEURI+"错误信息"+ue.ToString());
}
或者
window.BgImage.Source = new BitmapImage(new Uri("pack://siteoforigin:,,,/"+ e.NewValue.ToString(), UriKind.Absolute));
WPFのImage控件souce引入的方法总结的更多相关文章
- WPF编程,通过Double Animation动态旋转控件的一种方法。
原文:WPF编程,通过Double Animation动态旋转控件的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/art ...
- WPF编程,通过Double Animation同时动态缩放和旋转控件的一种方法。
原文:WPF编程,通过Double Animation同时动态缩放和旋转控件的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_4330793 ...
- WPF编程,通过Double Animation动态缩放控件的一种方法。
原文:WPF编程,通过Double Animation动态缩放控件的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/art ...
- VS编程,编辑WPF过程中,点击设计器中界面某一控件,在XAML中高亮突出显示相应的控件代码的设置方法。
原文:VS编程,编辑WPF过程中,点击设计器中界面某一控件,在XAML中高亮突出显示相应的控件代码的设置方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net ...
- WPF Popup 控件导致被遮挡内容不刷新的原因
WPF Popup 控件导致被遮挡内容不刷新的原因 周银辉 今天在写一个WPF控件时用到了Popup控件,很郁闷的情况是:当popup关闭时,原来被popup挡住的界面部分不刷新,非要手动刷新一下(比 ...
- 创建 WPF 工具箱控件
创建 WPF 工具箱控件 WPF (Windows Presentation Framework) 工具箱控件模板允许您创建 WPF 控件,会自动添加到 工具箱 安装扩展的安装. 本主题演示如何使用模 ...
- WPF 分页控件 WPF 多线程 BackgroundWorker
WPF 分页控件 WPF 多线程 BackgroundWorker 大家好,好久没有发表一篇像样的博客了,最近的开发实在头疼,很多东西无从下口,需求没完没了,更要命的是公司的开发从来不走正规流程啊, ...
- WPF Image控件中的ImageSource与Bitmap的互相转换
原文:WPF Image控件中的ImageSource与Bitmap的互相转换 1.从bitmap转换成ImageSource [DllImport("gdi32.dll", ...
- 两款不同应用场景的Wpf分页控件
简介 今天给大家分享两个Wpf分页控件,本篇博客主要介绍一些实现思路和使用方法,具体实现和应用代码请参考文末的Demo链接 废话不多说,先看一下效果~ (两款控件显示效果是一样的) 实现思路 一款控件 ...
随机推荐
- 正则表达式之javascript
1.正则表达式的定义 描述字符模式的对象,JavaScript的RepExp类表示正则表达式 var pattern = new RegExp("s\("); <=> ...
- [转]Using Angular in Visual Studio Code
本文转自:https://code.visualstudio.com/docs/nodejs/angular-tutorial Using Angular in Visual Studio Code ...
- easyui的datagrid为何无法显示json数据
因为easyui的datagrid要求数据JSON必须是如下格式:{"total":0,"rows":[]}其中total表示总的数据行数,rows是当前页的数 ...
- hive命令的三种执行方式
hive命令的3种调用方式 方式1:hive –f /root/shell/hive-script.sql(适合多语句) hive-script.sql类似于script一样,直接写查询命令就行 不 ...
- elasticsearch6.7 01.入门指南(3)
4.Modifying Your Data(修改数据) Elasticsearch 提供了近实时的操纵数据和搜索的能力.默认情况下,从索引/更新/删除数据到在搜索结果中显示数据会有 1 秒的延迟(刷新 ...
- canvas-2lineCap.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- H5调拨打电话界面
<a href=”tel:15771791266 ”>拨打电话</a> 切记不要用js调用 直接用a标签 苹果安卓塞班都能调起来
- nativefier(一行代码将任意网页转化为桌面应用)
刚刚在看前端九部的手册的时候,发现一个之前没有用过的骚东西,看上去还挺好用,我这个好奇心瞬间就窜的老高了,赶紧试一试,看看这个东西有没有必要收入我的胯下 结果实验完了之后, 必须必须要强行安利给你们 ...
- css3 Box model 与 Box-sizing
1.Box Model(盒模型) CSS中的Box Model分为两种:第一种是W3C的标准模型,另一种是IE的传统模型.它们的相同之处是对元素的width.height.padding.border ...
- Kafka初入门简单配置与使用
一 Kafka概述 1.1 Kafka是什么 在流式计算中,Kafka一般用来缓存数据,Storm通过消费Kafka的数据进行计算. 1)Apache Kafka是一个开源消息系统,由Scala写成. ...