C#如何从字节数组(blob转换为字节数组)中获取图像?

C#如何从字节数组(blob转换为字节数组)中获取图像?,c#,.net,image,bitmap,compression,C#,.net,Image,Bitmap,Compression,我们正在将一张图片从android应用程序保存到MySQL blob。现在我们想用C#来获得这个图像。有人能为C#推荐一个等价的代码吗?我们想展示原始图像。我已成功地从数据库检索数据。它返回给我字节数组。我尝试了很多方法,但我得到的图像尺寸小,质量低 public String getStringImage(Bitmap bmp){ ByteArrayOutputStream baos=new ByteArrayOutputStream(); bmp.compress(Bitmap.

我们正在将一张图片从android应用程序保存到MySQL blob。现在我们想用C#来获得这个图像。有人能为C#推荐一个等价的代码吗?我们想展示原始图像。我已成功地从数据库检索数据。它返回给我字节数组。我尝试了很多方法,但我得到的图像尺寸小,质量低

public String getStringImage(Bitmap bmp){
   ByteArrayOutputStream baos=new ByteArrayOutputStream();
   bmp.compress(Bitmap.CompressFormat.JPEG, 100, baos);
   byte[] imageBytes= baos.toByteArray();
   String encodedImage= Base64.encodeToString(imageBytes, Base64.DEFAULT)
   return encodedImage;
}
我试过下面的代码 C#代码

[编辑] 使用PNG代替JPEG。 使用JPEG时,原始BMP图像将丢失。见菲尔多斯的评论

要在C#中执行此操作:

  • 从数据库中取出数据

  • 与在C中使用Java所做的步骤相反#
  • 保存或显示图像
通常不需要将图像“解压缩”回BMP

[编辑二] 您是否尝试了
Image.FromStream

不要发布代码的图像。在问题“我们想显示原始图像”中发布相关代码-不可能,因为JPEG是一种有损格式。因此,您要问的是如何从C#中的数据库获取数据?从一些关于这些技术的教程开始…添加了代码。我已成功地从数据库检索数据。这不是问题。如果我将JPEG改为PNG,是否会提高图像质量?我建议先尝试不压缩。如果生成的数据太大,则处理压缩。“反转在C#中在Java中执行的步骤=>这里有一个问题@AjayThakare,您只能“反转”以显示JPEG。压缩步骤是不可逆的(使用jpeg),即使质量为100%。这是因为在这个过程中,有几个步骤正在丢失信息。例如量化。添加代码。我不想从任何人那里做我的工作。我试了很多,但没有得到预期的结果。那么,为什么要在论坛上提问呢。添加数据库并不是为了理解确切的场景。在java中,位图被压缩,但在C#中没有解压缩。那么为什么要问也许这有助于获得“形象”
byte[] dbBytes = (byte[])dtCameraImage.Rows[0]["Image"];

                if (dbBytes.Length > 0)
                {
                    string s_unicode2 = System.Text.Encoding.UTF8.GetString(dbBytes);

                    byte[] bytes = Convert.FromBase64String(s_unicode2);

                    if (bytes.Length > 0)
                    {
                        using (var ms = new MemoryStream(bytes))
                        {
                            img = new Bitmap(ms);
                            //img.Save("C:\\Newfolder\\test2.jpg");
                            imgImagePopup.Source = ConvertToImgSource(img);
                        }
                    } 
                }