【发布时间】:2013-08-10 12:39:33
【问题描述】:
我的 .png 图像存储在 Uri 对象上,格式如下
"pack://application:,,,/AppName.Modules.App.Shared;component/Images/AppName_logo.png"
如何将此图像加载到System.Drawing.Bitmap 对象上?
【问题讨论】:
我的 .png 图像存储在 Uri 对象上,格式如下
"pack://application:,,,/AppName.Modules.App.Shared;component/Images/AppName_logo.png"
如何将此图像加载到System.Drawing.Bitmap 对象上?
【问题讨论】:
假设您使用的是 WPF,您可以先将图像加载为BitmapImage,然后再进行转换。
请参阅 this answer 到“将 BitmapImage 转换为 Bitmap,反之亦然”
BitmapImage bi = new BitmapImage(
new Uri("pack://application:,,,/AppName.Modules.App.Shared;component/Images/AppName_logo.png"));
Bitmap b = BitmapImage2Bitmap(bi);
private Bitmap BitmapImage2Bitmap(BitmapImage bitmapImage)
{
using (MemoryStream outStream = new MemoryStream())
{
BitmapEncoder enc = new BmpBitmapEncoder();
enc.Frames.Add(BitmapFrame.Create(bitmapImage));
enc.Save(outStream);
System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(outStream);
return new Bitmap(bitmap);
}
}
【讨论】: