如何从嵌入的Uri资源(png图像)加载System.Drawing.Bitmap对象
本文关键字:加载 图像 System Drawing 对象 Bitmap png 资源 Uri | 更新日期: 2023-09-27 18:26:59
My.png图像存储在Uri对象上,其格式为
"pack://application:,,,/AppName.Modules.App.Shared;component/Images/AppName_logo.png"
如何将此图像加载到System.Drawing.Bitmap
对象上?
假设您使用的是WPF,您可以首先将图像加载为BitmapImage
,然后进行转换。
请参见关于"将位图图像转换为位图,反之亦然"的答案
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);
}
}