Skip to content

Commit 9826d7c

Browse files
authored
Merge pull request #2552 from cwensley/curtis/wpf-fix-gdi-handles-issue
Wpf: Fix GDI handle issues when using resized Bitmaps
2 parents 51b55dc + 4e3070e commit 9826d7c

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

src/Eto.Wpf/Drawing/BitmapHandler.cs

100644100755
+8-2
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,14 @@ public void Create(Image image, int width, int height, ImageInterpolation interp
119119
drawingContext.DrawDrawing(group);
120120

121121
var resizedImage = new swmi.RenderTargetBitmap(width, height, source.DpiX, source.DpiY, swm.PixelFormats.Default);
122-
resizedImage.RenderWithCollect(drawingVisual);
123-
Control = resizedImage;
122+
resizedImage.Render(drawingVisual);
123+
124+
// Don't use RenderTargetBitmap directly, it can run out of GDI handles when you have many bitmaps.
125+
var writable = new swmi.WriteableBitmap(resizedImage);
126+
Control = writable;
127+
128+
// collect immediately to get rid of the handle use
129+
GC.Collect(GC.MaxGeneration, GCCollectionMode.Forced, false);
124130
}
125131

126132
protected override void Initialize()

0 commit comments

Comments
 (0)