很多时候,我们会使用图片来装饰UI,比如作为控件背景等。
而这些图片可以分为两种形式,即存在于本地文件系统中的图片和存在于内存中的图片
对于这两种形式的图片,在WPF中,使用方法不同,下面主要说明针对这两种形式图片的使用方法
一、存在于本地文件系统中的图片文件
对于此类图片,使用非常简单,在xaml中直接指定路径即可,如:
1<Button>
2 <Button.Background>
3 <ImageBrush ImageSource="bg.jpg"/>
4 </Button.Background>
5</Button>
对应的的C#代码为
1ImageBrush imageBrush = new ImageBrush();
2imageBrush.ImageSource = new BitmapImage(new Uri("bg.jpg", UriKind.Relative));
3button.Background = imageBrush;
其中imageBrush.ImageSource的类型为ImageSource,而ImageSource是个抽象类,
因此我们不能直接使用它,而是使用它的子类来代替,查阅MSDN,可以看到它们的继承关系:
System.Windows.Media.ImageSource
System.Windows.Media.DrawingImage
System.Windows.Media.Imaging.BitmapSource
二、存在于内存中的图片
对于只存在于内存中的图片,用以上方法就显得无能为力了,我们应该另寻他法,下面介绍一种方法:
先看代码:
1//此处图片从文件中读入用以模拟内存中的图片
2System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap("bg.jpg");
3MemoryStream stream = new MemoryStream();
4bitmap.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
5ImageBrush imageBrush = new ImageBrush();
6ImageSourceConverter imageSourceConverter = new ImageSourceConverter();
7
8imageBrush.ImageSource = (ImageSource)imageSourceConverter.ConvertFrom(stream);
9button.Background = imageBrush;
其中bitmap即是存在于内存中的Bitmap类型图片,此处使用直接加载本地图片文件模拟。
步骤是先将它保存到流中,再使用ImageSourceConverter 类的ConvertFrom方法从流中得到我们需要的图片
OK,本文到此结束,以上方法都是自己在使用中探索所得,如果有更好的方法,本人非常愿意和各位交流。
相关推荐
ImageSource的使用ImageSource的使用
可以将svg文件转化成image控件可承载的ImageSource数据类型(注:需要在NuGet里面在下载安装一个svg.dll包,否则不能使用)
WPF中的ImageSource详解,给WPF中自动生成代码的兄弟们看看
winform下Bitmap转wpf下ImageSource
WPF中Image控件Source属性的相对路径和绝对路径问题的开发经验总结,亲测通过!
image source method old
图片资源,图像处理,图像技术,资源文件。计算机图像图像技术,算法,资源文件。
视觉开发者常选必备的开发工具,Imagesource CMOS相机驱动
image source method in matlab language
imageSource:存放个人照片的资料库
imageSource
wpf Image控件 加载SVG图片使用了SharpVectors.Converters.Wpf.DLL 进行二次重绘然后重新转换成ImageSource
图像处理软件源码,一般DIB图像处理算法。
在某些时候我们使用WPF中Image控件,加载一个图之后想删除这个图片,但由于图片已经被Image占用,会提示“文件正由另一个程序使用,无法删除”之类的信息,此时可以用该方法设置Image的Source,这样图片加载后可以...
trace image chart source code
JavaScript
ImageJ使用教程 视频教程 教你使用ImageJ分析电泳条带灰度比
资源分类:Python库 所属语言:Python 资源全名:large-image-source-mapnik-1.11.3.dev17.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
source codes is for the image processing functionality.
Envision Image Library 4.00 Full Source for D7-D10.3