私のプロジェクト リソースには、いくつかの画像 (.png) があります。ユーザーがButton
新しい画像をクリックすると、ImageBox
. すべての画像がプロジェクト リソースに保存されているため、Image.Source
コードで取得する必要があります。私はMethod
このようなを使用してそれを行うことができました:
public void ImageSource()
{
Bitmap someImage;
BitmapSource someImageSource;
someImage= new Bitmap(Properties.Resources.Image1);
someImageSource = getBitmapSourceFromBitmap(someImage);
ImageBox.Source = someImageSource;
}
public static BitmapSource getBitmapSourceFromBitmap(Bitmap bmp)
{
BitmapSource returnSource = null;
try
{
returnSource = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(bmp.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
}
catch { returnSource = null; }
return returnSource;
}
私のアプリでは、すべて正常に動作します。エラーも警告もありません。 を押すたびに画像が変化しButton
ます。メモリを監視した後、メモリを呼び出すたびに、毎回getBitmapSourceFromBitmap
100MBが爆発することに気付きました。なぜこれが起こっているのか誰にも分かりますか?私の英語でごめんなさい。