很多时候,我们会使用图片来装饰UI,比如作为控件背景等。
而这些图片可以分为两种形式,即存在于本地文件系统中的图片和存在于内存中的图片
对于这两种形式的图片,在WPF中,使用方法不同,下面主要说明针对这两种形式图片的使用方法
一、存在于本地文件系统中的图片文件
对于此类图片,使用非常简单,在xaml中直接指定路径即可,如:
1[原创]ImageSource的使用心得<Button>
2[原创]ImageSource的使用心得    <Button.Background>
3[原创]ImageSource的使用心得        <ImageBrush ImageSource="bg.jpg"/>
4[原创]ImageSource的使用心得    </Button.Background>
5[原创]ImageSource的使用心得</Button>
对应的的C#代码为
1[原创]ImageSource的使用心得ImageBrush imageBrush = new ImageBrush();
2[原创]ImageSource的使用心得imageBrush.ImageSource = new BitmapImage(new Uri("bg.jpg", UriKind.Relative));
3[原创]ImageSource的使用心得button.Background = imageBrush;

其中imageBrush.ImageSource的类型为ImageSource,而ImageSource是个抽象类,
因此我们不能直接使用它,而是使用它的子类来代替,查阅MSDN,可以看到它们的继承关系:
System.Windows.Media.ImageSource
    1[原创]ImageSource的使用心得//此处图片从文件中读入用以模拟内存中的图片
2[原创]ImageSource的使用心得System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap("bg.jpg");
3[原创]ImageSource的使用心得MemoryStream stream = new MemoryStream();
4[原创]ImageSource的使用心得bitmap.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
5[原创]ImageSource的使用心得ImageBrush imageBrush = new ImageBrush();
6[原创]ImageSource的使用心得ImageSourceConverter imageSourceConverter = new ImageSourceConverter();
7[原创]ImageSource的使用心得
8[原创]ImageSource的使用心得imageBrush.ImageSource = (ImageSource)imageSourceConverter.ConvertFrom(stream);
9[原创]ImageSource的使用心得button.Background = imageBrush;

其中bitmap即是存在于内存中的Bitmap类型图片,此处使用直接加载本地图片文件模拟。
步骤是先将它保存到流中,再使用ImageSourceConverter 类的ConvertFrom方法从流中得到我们需要的图片
OK,本文到此结束,以上方法都是自己在使用中探索所得,如果有更好的方法,本人非常愿意和各位交流。
联系方式在Blog标题上

相关文章:

  • 2021-07-31
  • 2022-01-31
  • 2021-12-19
  • 2022-12-23
  • 2022-12-23
  • 2021-09-11
  • 2021-11-16
猜你喜欢
  • 2022-12-23
  • 2021-07-26
  • 2021-06-01
  • 2021-12-31
  • 2021-07-08
  • 2022-01-02
  • 2022-12-23
相关资源
相似解决方案