一:Image
1.介绍
Image控件,常常用来加载图片,加载的方式有很多种类型。比如直接加载.png.jpeg等格式的图片、加载Bitmap、加载BitmapImage。
- 显示静态图像文件,如PNG、JPG、BMP等。
- 显示动态图像,如GIF动画。
- 调整图像的大小和位置。
- 设置图像的透明度。
- 绑定到数据源,如绑定到数据库中的图像数据。
2:基本用法
Source属性是Image控件的核心属性,用于设置要显示的图像。它可以是Uri对象,也可以是BitmapImage、RenderTargetBitmap等对象。
- XMAL中:
<Image Stretch="Uniform" Source="/Resources/CompileResources/Images/btn_上一题.png" ></Image>
- C#中:
//相对路径
this.pauseImg.Source = new BitmapImage(new Uri("pack://application:,,,/Resources/CompileResources/Images/btn_play.png"));
// 绝对路径
string imagePath = @"C:\path\to\your-image.jpg";
this.pauseImg.Source = new BitmapImage(new Uri(imagePath, UriKind.Absolute));
Uri
image.png
UriKind枚举
image.png
二:ImageBrush
1、介绍
ImageBrush 是一种画刷(Brush),用于在图形、控件或布局的背景中填充图像。它继承自 TileBrush,这意味着它可以用于填充任何 Shape、Control 或 Panel 的背景。
- 用途:用于在控件的背景中填充图像,而不是直接显示图像。
- 定位:ImageBrush 不占据空间,它只定义如何填充一个区域。
- 缩放和铺贴:ImageBrush 可以设置 TileMode 属性来控制图像的铺贴方式(如平铺、拉伸等),以及 Viewport 和 ViewportUnits 来控制铺贴区域的大小。
- 透明度:ImageBrush 支持透明度,图像的透明部分会正确显示为透明。
2、基本用法:
<Border>
<Border.Background>
<ImageBrush x:Name="imgBrush" Stretch="Uniform"/>
</Border.Background>
</Border>
//相对路径
this.pauseImg.Source = new BitmapImage(new Uri("pack://application:,,,/Resources/CompileResources/Images/btn_play.png"));
// 绝对路径
string imagePath = @"C:\path\to\your-image.jpg";
this.imgBrush.ImageSource = new BitmapImage(new Uri(imagePath, UriKind.Absolute));
Image 控件用于在界面上直接显示图像,而 ImageBrush 用于在控件的背景中填充图像
三:其他扩展
BitmapSource:
-
定义:
BitmapSource是一个抽象类,属于.NET Framework中的Windows Presentation Foundation(WPF)图像处理库的一部分。它提供了一个基础框架,用于表示包含像素数据的图像,是所有WPF位图图像的基类。 -
特点:
1.可以包含任何图像数据的原始表示形式,支持多种不同的像素格式,如Gray8、Pbgra32等。
2.通常用于图像处理、图像转换等高级操作中。
3.可以用于UWP应用程序中的图像显示,如Image控件的Source属性。
Bitmap:
-
定义:
Bitmap在Android应用程序中用来表示图像的类,提供了多种方法来操作和处理图像数据。而在Windows环境中,Bitmap通常指的是一种位图文件格式(.bmp或.dib),是Windows标准格式图形文件。 -
Android中的Bitmap:
1.可以通过指定宽度、高度和像素格式来创建一个空的Bitmap对象。
2.支持从现有的Bitmap对象复制像素数据来创建新的Bitmap对象。
3.提供了多种方法来操作和处理图像数据,如获取和设置像素值、压缩图像等。 -
Windows中的Bitmap文件格式:
1.将图像定义为由点(像素)组成,每个点可以由多种色彩表示,包括2、4、8、16、24和32位色彩。
2.图像效果好,但非压缩格式,需要占用较大存储空间。
BitmapImage:
-
定义:
BitmapImage是BitmapSource的一个具体实现,专门用于从URI、文件路径或流中加载图像。 -
特点:
1.在内部自动处理图像的解码工作,使得开发者能够轻松地将图像资源集成到应用程序中。
2.相对于BitmapSource,BitmapImage更多地关注于如何从各种来源加载和显示图像,而不直接涉及底层的像素格式或图像处理算法。
3.支持URI图像源,可以加载本地文件、网络图片等。
4.支持图像缓存,提高加载性能。
5.支持缩略图生成,但不支持直接进行图像编辑操作。
应用场景与区别
BitmapSource:更适合于需要进行像素级操作、转换或分析的图像处理场景。
Bitmap(Android):在Android应用程序中用于表示和操作图像数据。
Bitmap(Windows):作为Windows标准格式图形文件,用于存储和表示图像。
BitmapImage:更适合于简单图像显示和资源绑定的场景,在WPF应用程序中广泛使用。











网友评论