Uma*_*lam 13 .net c# memorystream image bytearray
我正在将字节转换为图像但我收到错误
参数无效
我正在粘贴我的代码.请检查代码,并建议我做对或错.
Image arr1 = byteArrayToImage(Bytess);
Run Code Online (Sandbox Code Playgroud)
这是功能.
public static Image byteArrayToImage(byte[] byteArrayIn)
{
if (null == byteArrayIn || byteArrayIn.Length == 0)
return null;
MemoryStream ms = new MemoryStream(byteArrayIn);
try
{
Process currentProcess1 = Process.GetCurrentProcess();
Image returnImage = Image.FromStream(ms);
return returnImage;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Run Code Online (Sandbox Code Playgroud)
我应用了许多技术和解决方案,但它对我不起作用
您的回答将不胜感激.
谢谢
san*_*mar 10
试试这个
public Image byteArrayToImage(byte[] byteArrayIn)
{
System.Drawing.ImageConverter converter = new System.Drawing.ImageConverter();
Image img = (Image)converter.ConvertFrom(byteArrayIn);
return img;
}
Run Code Online (Sandbox Code Playgroud)
在尝试了许多事情之后,我发现了一种具有更多控制权的方法。在此示例中,您可以指定像素格式并将字节复制到位图。
byte[] buffer = GetImageBytes();
var bitmap = new Bitmap(width, height, PixelFormat.Format32bppArgb);
var bitmap_data = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb);
Marshal.Copy(buffer, 0, bitmap_data.Scan0, buffer.Length);
bitmap.UnlockBits(bitmap_data);
var result = bitmap as Image;
Run Code Online (Sandbox Code Playgroud)