15

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

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

我怎样才能做到这一点?或者这种情况的最佳解决方案是什么?

谢谢!

4

2 回答 2

23

我知道这是一个旧帖子,但尝试这样做:

myBitmapImage = myImageSource as BitmapImage;

效果很好。

于 2012-06-20T08:33:01.420 回答
7

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

于 2009-05-28T12:09:25.837 回答