相关疑难解决方法(0)

从System.Drawing.Bitmap加载WPF BitmapImage

我有一个a的实例,System.Drawing.Bitmap并希望以一种形式将它提供给我的WPF应用程序System.Windows.Media.Imaging.BitmapImage.

对此最好的方法是什么?

c# wpf bitmap

217
推荐指数
8
解决办法
21万
查看次数

在WPF中使用Image控件来显示System.Drawing.Bitmap

如何在WPF中BitmapImage控件分配内存中对象?

c# wpf

75
推荐指数
3
解决办法
13万
查看次数

WPF CreateBitmapSourceFromHBitmap()内存泄漏

我需要逐个像素地绘制图像并将其显示在WPF中.我试图通过使用System.Drawing.Bitmap然后使用CreateBitmapSourceFromHBitmap()创建BitmapSource一个WPF图像控件来做到这一点.我在某处有内存泄漏,因为当CreateBitmapSourceFromBitmap()重复调用时,内存使用率会上升,并且在应用程序结束之前不会下降.如果我不打电话CreateBitmapSourceFromBitmap(),内存使用量没有明显变化.

for (int i = 0; i < 100; i++)
{
    var bmp = new System.Drawing.Bitmap(1000, 1000);
    var source = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
        bmp.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty,
        System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());
    source = null;
    bmp.Dispose();
    bmp = null;
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能释放BitmapSource记忆?

.net c# wpf memory-leaks

46
推荐指数
3
解决办法
3万
查看次数

将System.Windows.Media.Imaging.BitmapSource转换为System.Drawing.Image

我把两个图书馆联系在一起.一个只提供类型的输出System.Windows.Media.Imaging.BitmapSource,另一个只接受类型的输入System.Drawing.Image.

如何进行此转换?

.net c# image

27
推荐指数
2
解决办法
3万
查看次数

DrawingContext到Bitmap文件

我有一个DrawingContext(Visual或DrawingGroup的一部分),我在其中绘制一堆矩形和/或1位图像.可以将其视为屏蔽1位图像.我想将其转换为位图图像文件.

使用RenderTargetBitmap不是一个选项,因为它只能以32位像素格式渲染,所以如果我必须渲染一个20MB的1位图像,我的堆上最终会得到640MB(20*32)的内存.这当然会产生宏伟的LOH碎片,并且应用程序在第二次拍摄时会耗尽内存.

所以,我基本上需要一种方法来有效地从绘图上下文中写入1位位图文件.任何想法/建议/替代方法将不胜感激.

.net c# wpf rendertargetbitmap drawingcontext

10
推荐指数
2
解决办法
3899
查看次数