【发布时间】:2011-03-17 04:19:33
【问题描述】:
我有一个项目需要将内存中的 System.Drawing.Bitmap 转换为内存中的 BitmapImage,以便我可以通过 XAML 将 BitmapImage 绑定到 Image 控件。我遇到的问题是在转换过程中原始位图缩小并且非常模糊。
这很糟糕,因为原始位图是一个条形码,我需要这个条形码才能保持可读性。我能做些什么来保持位图的完整性吗?或者是否可以在不先保存位图并使用 URI 的情况下将 System.Drawing.Bitmap 绑定到 WPF Image 控件?
还有谁能向我解释所有这些图像格式之间的区别?似乎它们有很多,它们驻留在许多命名空间中,在它们之间进行转换很痛苦。
编辑.....
public static BitmapImage GetBitmapImage(Bitmap bmp)
{
MemoryStream ms = new MemoryStream();
bmp.Save(ms, ImageFormat.Bmp);
BitmapImage bmpI = new BitmapImage();
bmpI.BeginInit();
bmpI.StreamSource = ms;
bmpI.EndInit();
ms.Close();
ms.Dispose();
return bmpI;
}
【问题讨论】:
-
你能发布你用来转换它的代码吗?您是否使用 ValueConverter 来执行此操作?
-
更新了转换方法。