Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Core 2.1中将字节[]转换为位图_C#_.net Core - Fatal编程技术网

C# 在Core 2.1中将字节[]转换为位图

C# 在Core 2.1中将字节[]转换为位图,c#,.net-core,C#,.net Core,我有一个在.NET4.6.2中运行良好的项目,该项目大量使用字节[]转换为位图 public static Bitmap ByteArrayToImage(byte[] source) { TypeConverter tc = TypeDescriptor.GetConverter(typeof(Bitmap)); return (Bitmap)tc.ConvertFrom(source); } 然而,我已经将项目升级到了.NETCore2.1,

我有一个在.NET4.6.2中运行良好的项目,该项目大量使用字节[]转换为位图

public static Bitmap ByteArrayToImage(byte[] source)
    {
        TypeConverter tc = TypeDescriptor.GetConverter(typeof(Bitmap));
        return (Bitmap)tc.ConvertFrom(source);
    }
然而,我已经将项目升级到了.NETCore2.1,这不再有效。我读过,有一些人有问题,但正在努力寻找解决办法

TypeConverter无法从系统转换。字节[]

2.1中是否有实现此转换的方法?
它看起来可能有用,但当我在Nuget中搜索它时,我没有得到任何结果。

您需要将
字节
放入
内存流

public static Bitmap ByteArrayToImage(byte[] source)
{
    using (var ms = new MemoryStream(source))
    {
        return new Bitmap(ms);
    }
}

上面的代码将使用
位图(流)
构造函数。

您需要将
字节
放入
内存流

public static Bitmap ByteArrayToImage(byte[] source)
{
    using (var ms = new MemoryStream(source))
    {
        return new Bitmap(ms);
    }
}
上面的代码将使用
位图(流)
构造函数

2.1中是否有实现此转换的方法?它看起来可能有用,但当我在Nuget中搜索它时,我没有得到任何结果

是的,你可以使用这个开源解决你的问题,但是你不能通过nuget获得它。现在,你需要拿到那个包裹。您可以参考此链接了解如何使用ImageSharp软件包:

否则,您可以先将字节数组转换为MemoryStream:

    public static Bitmap ByteArrayToImage(byte[] source)
    {
        return new Bitmap(new MemoryStream(source));
    }
2.1中是否有实现此转换的方法?它看起来可能有用,但当我在Nuget中搜索它时,我没有得到任何结果

是的,你可以使用这个开源解决你的问题,但是你不能通过nuget获得它。现在,你需要拿到那个包裹。您可以参考此链接了解如何使用ImageSharp软件包:

否则,您可以先将字节数组转换为MemoryStream:

    public static Bitmap ByteArrayToImage(byte[] source)
    {
        return new Bitmap(new MemoryStream(source));
    }

我可能只是从字节数组中创建一个
MemoryStream
,然后从流中创建一个
Btitmap
使用(MemoryStream ms=new MemoryStream(source)){return new Bitmap(ms);}
谢谢大家。成功了。如果你给我一个答案,我可以把它标出来。很好,谢谢。我可能只是从字节数组创建一个
MemoryStream
,然后从流中创建一个
Btitmap
使用(MemoryStream ms=newmemoryStream(source)){返回新位图(ms);}
谢谢大家。成功了。如果你给我一个答案,我可以把它标出来。很好,谢谢。可能是复制品