C#如何从字节数组(blob转换为字节数组)中获取图像?
我们正在将一张图片从android应用程序保存到MySQL blob。现在我们想用C#来获得这个图像。有人能为C#推荐一个等价的代码吗?我们想展示原始图像。我已成功地从数据库检索数据。它返回给我字节数组。我尝试了很多方法,但我得到的图像尺寸小,质量低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.
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所做的步骤相反#
- 保存或显示图像
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);
}
}
}