我们正在将图片从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#代码
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);
}
}
}
答案 0 :(得分:0)
[编辑] 使用JPEG格式的PNG。 使用JPEG时,原始BMP图像将丢失。见Fildors评论。
在C#中执行此操作:
您通常不需要将图像“解压缩”回BMP。
[EDIT2]
你试过Image.FromStream
了吗?
https://msdn.microsoft.com/de-de/library/1kcb3wy4(v=vs.110).aspx