使用字符串可能会丢失数据,我将发布有关将图像转换为字节数组和数组再次转换为图像的示例,然后将图像转换为字节数组,再转换为字符串并返回,而不会丢失数据。
MemoryStream ms = new MemoryStream();
Image.FromFile(@"C:\..\..\..\img.jpg").Save(ms,ImageFormat.Jpeg);
byte[] bytes = ms.ToArray();
MemoryStream ms1 = new MemoryStream(bytes);
Image NewImage = Image.FromStream(ms1);
NewImage.Save(@"C:\..\..\..\img1.jpg");
试试这个,它可能会帮助你生产你需要的东西。
尝试转换为字符串并返回,最好使用base64。
MemoryStream ms = new MemoryStream();
Image.FromFile(@"C:\..\..\..\img.jpg").Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] bytes = ms.ToArray();
string byteString = Convert.ToBase64String(bytes);
byte[] NewBytes = Convert.FromBase64String(byteString);
MemoryStream ms1 = new MemoryStream(NewBytes);
Image NewImage = Image.FromStream(ms1);
这应该会给你你需要的结果。
MemoryStream ms = new MemoryStream();
Image.FromFile(@"C:\..\..\..\img.jpg").Save(ms,ImageFormat.Jpeg);
byte[] bytes = ms.ToArray();
string byteString = Convert.ToBase64String(bytes);
那么当你将此字符串传递给你的方法时......
public Image stringToImage(string inputString)
{
byte[] NewBytes = Convert.FromBase64String(inputString);
MemoryStream ms1 = new MemoryStream(NewBytes);
Image NewImage = Image.FromStream(ms1);
return NewImage;
}