将ImageSource转换为BitmapImage - WPF

时间:2009-05-28 12:00:49

标签: wpf bitmapimage

我正在使用一个生成大型ImageSource的类库,> 3000x3750像素。我想将此ImageSource转换为BitmapImage,以便我可以利用DecodePixelWidth或DecodePixelHeight,而不是每次生成此图像时调整它的大小。

我需要首先为用户显示此图像,并且大多数用户的屏幕分辨率为1024x768,我将此ImageSource绑定到Image控件,但是可以注意到它是多么“重”

我该怎么做?或者这个案例的最佳解决方案是什么?

谢谢!

2 个答案:

答案 0 :(得分:19)

我知道这是一个老帖子,但试着这样做:

myBitmapImage = myImageSource as BitmapImage;

效果很好。

答案 1 :(得分:4)

BitmapImage类型继承BitmapSource,最终继承ImageSource(两者都是抽象类)。您需要检查对象的实际类型,即检查object.GetType().Name。如果你很幸运,它实际上可能会返回一个BitmapSource对象,你只需要将它转换为该类型,然后才能使用它。