15

3000x3750 ピクセルを超える大きな ImageSource を生成するクラス ライブラリを使用しています。この 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(どちらも抽象クラスです)。オブジェクトの実際のタイプ、つまり check を確認する必要がありますobject.GetType().Name。運が良ければ、実際にオブジェクトを返す可能性があり、BitmapSourceオブジェクトをそのまま使用する前に、その型にキャストする必要があります。

于 2009-05-28T12:09:25.837 に答える