14
Chcę ustawić obraz tła dla mojego formularza/okna like this guy, ale zamiast pliku obrazu na dysku mam w pamięci System.Drawing.Bitmap
.Uzyskaj źródło obrazu z bitmapy?
muszę zrobić coś takiego:
this.Background = new ImageBrush(new BitmapImage(bmp));
wyjątkiem BitmapImage
nie zajmie Bitmap
, ani woli ImageBrush
i nie jestem pewien, czy ktokolwiek inny będzie. Jest jeden o nazwie BitmapCacheBrush
, ale nie wiem, co to oznacza.
Musisz importować i P/Invoke DeleteObject tego uchwytu z Bitmap.GetHBitmap() lub będziesz wyciekające GDI obsługuje. Więcej informacji można znaleźć w dokumentacji. – Alan
Jak zwolnić pamięć: http://stackoverflow.com/a/1546121/378783 – watbywbarif