美文网首页
WPF之Image介绍

WPF之Image介绍

作者: 小羊爱学习 | 来源:发表于2024-10-22 16:31 被阅读0次

一: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应用程序中广泛使用。

相关文章

网友评论

      本文标题:WPF之Image介绍

      本文链接:https://www.haomeiwen.com/subject/kasrdjtx.html