【问题标题】:How to load a System.Drawing.Bitmap object from an embedded Uri resource (png image)?如何从嵌入式 Uri 资源(png 图像)加载 System.Drawing.Bitmap 对象?
【发布时间】:2013-08-10 12:39:33
【问题描述】:

我的 .png 图像存储在 Uri 对象上,格式如下

"pack://application:,,,/AppName.Modules.App.Shared;component/Images/AppName_logo.png"

如何将此图像加载到System.Drawing.Bitmap 对象上?

【问题讨论】:

标签: c# resources uri


【解决方案1】:

假设您使用的是 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);
    }
}

【讨论】:

    猜你喜欢
    • 2011-08-13
    • 1970-01-01
    • 2017-11-21
    • 2011-08-01
    • 2011-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-17
    相关资源
    最近更新 更多