C#学习教程:将字节转换为图像共享时出现“参数无效”错误粘贴我的代码。请查看代码并提出我做对或做错的建议。图像arr1=byteArrayToImage(Bytess);这就是功能。publicstaticImagebyteArrayToImage(byte[]byteArrayIn){if(null==byteArrayIn||byteArrayIn.Length==0)返回空;MemoryStreamms=newMemoryStream(byteArrayIn);尝试{ProcesscurrentProcess1=Process.GetCurrentProcess();图像returnImage=Image.FromStream(ms);返回返回图像;}catch(Exceptionex){MessageBox.Show(ex.Message);我应用了很多技术和解决方案,但它对我不起作用,你的答案会很棒。感谢您试用这个publicImagebyteArrayToImage(byte[]byteArrayIn){System.Drawing.ImageConverterconverter=newSystem.Drawing.ImageConverter();图片img=(Image)converter.ConvertFrom(byteArrayIn);返回图像;在尝试了很多东西之后,我找到了一种拥有更多控制权的方法。在此示例中,您指定像素格式并将字节复制到位图中。byte[]buffer=GetImageBytes();varbitmap=newBitmap(width,height,PixelFormat.Format32bppArgb);varbitmap_data=bitmap.LockBits(newRectangle(0,0,bitmap.Width,bitmap.Height),ImageLockMode.WriteOnly,PixelFormat.Format32bppArgb);Marshal.Copy(buffer,0,bitmap_data.Scan0,??buffer.Length);位图.UnlockBits(位图数据);varresult=位图作为图像;试试这个,publicImagebyteArrayToImage(byte[]byteArrayIn){ImagereturnImage=null;使用(MemoryStreamms=newMemoryStream(byteArrayIn)){returnImage=Image.FromStream(ms);}返回返回图像;}cmd.CommandText="SELECT*FROM`form_backimg`WHEREACTIVE=1";MySqlDataReaderreader6=cmd.ExecuteReader();if(reader6.Read()){code4=(byte[])reader6["BACK_IMG"];//BLOB字段名称BACK_IMG}reader6.Close();MemoryStream流=newMemoryStream(code4);//code4是一个publicbyte[]定义在上面pictureBox3.Image=Image.FromStream(stream);问题是因为您从数据库中错误引入了它。尝试像这样更改您的代码:while(registry.Read()){byte[]image=(byte[])registry["Image"];在我的例子中,我得到了错误,因为我在调用Image.FromStream之前,base64字符串编码不正确。这终于对我有用了:以上是C#学习教程:Error"parameterisinvalid"whenconvertingbytestoimage分享的全部内容,如果对大家有用,需要详细了解C#学习教程,我希望大家多多关注—byte[]bytes=System.Convert.FromBase64String(base64ImageString);使用(MemoryStreamms=newMemoryStream(bytes)){varimage=Image.FromStream(ms);image.Save(filePath,System.Drawing.Imaging.ImageFormat.Png);}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
