[英]Convert Bitmap image to String format to send over network(LAN) and vice-versa
我基本上是在Visual Studio 2010 .NET 4.0中開發一個軟件,在該軟件中,我從一台PC捕獲屏幕截圖並將其通過網絡發送給另一個。 由於我無法直接發送位圖,因此必須將其轉換為字符串。 我做了很多互聯網搜索,但是找不到任何解決方案。 :(
我在stackoverflow本身上找到了此代碼。 但是它不起作用。 我試圖打印字符串(從圖像轉換),但是程序的行為就像該行不存在。 我用了一個MessageBox.Show(String); 但是,甚至沒有一個味精盒彈出! 誰能幫忙嗎? 我被卡住了! 預先感謝:)(是)
bitmapString = null; // Conversion from image to string
MemoryStream memoryStream = new MemoryStream();
bmpScreenshot.Save(memoryStream, ImageFormat.Png);
byte[] bitmapBytes = memoryStream.GetBuffer();
bitmapString = Convert.ToBase64String(bitmapBytes,Base64FormattingOptions.InsertLineBreaks); // Conversion from image to string end
Image img = null; //Conversion from string to image
byte[] bitmapBytes = Convert.FromBase64String(rob);
MemoryStream memoryStream = new MemoryStream(bitmapBytes);
img = Image.FromStream(memoryStream); //Conversion from string to image end
嘗試將其轉換為字節數組:
public static byte[] ImageToByteArray(Image img)
{
byte[] byteArray = new byte[0];
using (MemoryStream stream = new MemoryStream())
{
img.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
stream.Close();
byteArray = stream.ToArray();
}
return byteArray;
}
我相信您可以將Bitmap對象簡單地轉換為Image對象。 所以Image img = (Image)myBitmap;
-然后將其傳遞給上面的方法。
為什么它需要是一個字符串? 您使用什么方法通過網絡發送它? 網絡服務? 直接插座?
不管您如何發送,最好的方法是將其轉換為字節數組,然后通過網絡傳遞該數組
如果您需要一些執行此操作的代碼,請查看關於SO的類似問題,例如使用C#通過套接字發送和接收圖像
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.