Stream轉(zhuǎn)Byte數(shù)組、Image轉(zhuǎn)Byte數(shù)組、文件轉(zhuǎn)Stream等
/// <summary>/// 將 Stream 轉(zhuǎn)成 byte[]/// </summary>/// <param name="stream"></param>/// <returns></returns>public static byte[] StreamToBytes(Stream stream){ byte[] bytes = new byte[stream.Length]; stream.Read(bytes, 0, bytes.Length); // 設(shè)置當(dāng)前流的位置為流的開始 stream.Seek(0, SeekOrigin.Begin); return bytes;}
/// <summary>/// 將 byte[] 轉(zhuǎn)成 Stream/// </summary>/// <param name="bytes"></param>/// <returns></returns>public static Stream BytesToStream(byte[] bytes){ Stream stream = new MemoryStream(bytes); return stream;}
// <summary> /// 字節(jié)流轉(zhuǎn)換成圖片 /// </summary> /// <param name="byt">要轉(zhuǎn)換的字節(jié)流</param> /// <returns>轉(zhuǎn)換得到的Image對(duì)象</returns> public static Image BytToImg(byte[] byt){ try { MemoryStream ms = new MemoryStream(byt); Image img = Image.FromStream(ms); return img; } catch (Exception ex) { LogHelper.WriteError("StreamHelper.BytToImg 異常", ex); return null; }}
/// <summary>/// 圖片轉(zhuǎn)換成字節(jié)流 /// </summary>/// <param name="img"></param>/// <returns></returns>public static byte[] ImageToByteArray(Image img){ ImageConverter imgconv = new ImageConverter(); byte[] b = (byte[])imgconv.ConvertTo(img, typeof(byte[])); return b;}
/// <summary>/// 把圖片Url轉(zhuǎn)化成Image對(duì)象/// </summary>/// <param name="imageUrl"></param>/// <returns></returns>public static Image Url2Img(string imageUrl){ try { if (string.IsNullOrEmpty(imageUrl)) { return null; } WebRequest webreq = WebRequest.Create(imageUrl); WebResponse webres = webreq.GetResponse(); Stream stream = webres.GetResponseStream(); Image image; image = Image.FromStream(stream); stream.Close(); return image; } catch (Exception ex) { LogHelper.WriteError("StreamHelper.Url2Img 異常", ex); } return null;}
/// <summary>/// 把本地圖片路徑轉(zhuǎn)成Image對(duì)象/// </summary>/// <param name="imagePath"></param>/// <returns></returns>public static Image ImagePath2Img(string imagePath){ try { if (string.IsNullOrEmpty(imagePath)) { return null; } byte[] bytes = Image2ByteWithPath(imagePath); Image image = BytToImg(bytes); return image; } catch (Exception ex) { LogHelper.WriteError("StreamHelper.ImagePath2Img 異常", ex); return null; }}
轉(zhuǎn)自:
作者:樊勇
出處:http://www.survivalescaperooms.com/fanyong/
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注