我有一個base64圖像,我必須將其轉換成圖像。我這樣做使用此代碼:C#圖像base64
public static Image ConvertBase64StringToImage(string imageBase64String)
{
var imageBytes = Convert.FromBase64String(imageBase64String);
var imageStream = new MemoryStream(imageBytes, 0, imageBytes.Length);
imageStream.Write(imageBytes, 0, imageBytes.Length);
var image = Image.FromStream(imageStream, true);
return image;
}
然後我必須將此圖像轉換爲base64再次。使用im此代碼:
public static string ConvertImageToBase64String(Image image)
{
var imageStream = new MemoryStream();
image.Save(imageStream, ImageFormat.Png);
imageStream.Position = 0;
var imageBytes = imageStream.ToArray();
return Convert.ToBase64String(imageBytes);
}
原始base64Image轉換成圖像,並再次爲base64後,它失去quality.The原始的base64圖像的長度爲1676和轉換後它的長度具有1660。
轉換後我需要相同的圖像,因爲我必須對它進行比較。任何想法如何做到不失質量?
這16個字節丟失可能只是原始文件中的填充。圖像看起來是否一樣?嘗試使用不同的圖像,所有圖像上的文件大小是否更改,或者只有那一個。 – Neil
圖像看起來相同,但由於這16個字節,我無法比較這些圖像。這個問題發生在我測試的每個圖像上。 – lukhol
這16個字節是如此少的數據,似乎不太可能的圖像失去了實際的質量(也取決於所使用的編碼/壓縮技術) –