我正在使用一个生成大型ImageSource的类库,> 3000x3750像素。我想将此ImageSource转换为BitmapImage,以便我可以利用DecodePixelWidth或DecodePixelHeight,而不是每次生成此图像时调整它的大小。
我需要首先为用户显示此图像,并且大多数用户的屏幕分辨率为1024x768,我将此ImageSource绑定到Image控件,但是可以注意到它是多么“重”
我该怎么做?或者这个案例的最佳解决方案是什么?
谢谢!
答案 0 :(得分:19)
我知道这是一个老帖子,但试着这样做:
myBitmapImage = myImageSource as BitmapImage;
效果很好。
答案 1 :(得分:4)
BitmapImage
类型继承BitmapSource
,最终继承ImageSource
(两者都是抽象类)。您需要检查对象的实际类型,即检查object.GetType().Name
。如果你很幸运,它实际上可能会返回一个BitmapSource
对象,你只需要将它转换为该类型,然后才能使用它。