System.ArgumentException:“参数无效”到图像的内存流

问题描述 投票:0回答:1

[我已经检查了其他StackOverflow问题,但似乎无济于事,因为大多数问题都与“ base64string”一起使用,这不会帮助我,因为我的byte []是使用Windows-1252编码的。

我的问题:

我正在使用条形码扫描仪进行图片制作,我使用Encoding.GetEncoding("Windows-1252").GetString(e.Buffer))。 e是DataaReceivedEventArgs,它给了我一个字节数组。

我必须将其转换为字符串,因为必须从响应中删除某些部分,这一步骤必须保留。

然后我使用Encoding.GetEncoding("Windows-1252").GetBytes(response)将其转换为ByteArray。

然后我只需制作一个MemoryStream并在Image.FromStream(ms)中使用它。问题是第一次WORKS没有任何问题。但是第二次之后,它给了我无效的参数异常。

  byte[] bBytes = await responseZuBytesArray();

            using (MemoryStream ms = new MemoryStream(bBytes))
            {
                pcbBildAnzeige.SizeMode = PictureBoxSizeMode.StretchImage;
                pcbBildAnzeige.Image = Image.FromStream(ms);
            }

            tIsStarted = false;

我已经尝试设置MemoryStream的位置,尝试先将其转换为位图。我已经尝试了很多,但是我认为有些简单的即时消息只是看不到那就是为什么我在这里询问

c# image memorystream
1个回答
0
投票

尝试使用类System.Drawing.ImageConverter转换字节数组;

Bitmap bitmap = (Bitmap)new System.Drawing.ImageConverter().ConvertFrom(bBytes);
© www.soinside.com 2019 - 2024. All rights reserved.