我是靠谱客的博主 唠叨小天鹅,最近开发中收集的这篇文章主要介绍Stream/Bytes[]/Image对象相互转化,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

原文链接:http://www.knowsky.com/897888.html

Stream转Byte数组、Image转Byte数组、文件转Stream等
这里写图片描述

/// <summary>
/// 1、将 Stream 转成 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);
// 设置当前流的位置为流的开始
stream.Seek(0, SeekOrigin.Begin);
return bytes;
}
/// <summary>
/// 2、将 byte[] 转成 Stream
/// </summary>
/// <param name="bytes"></param>
/// <returns></returns>
public static Stream BytesToStream(byte[] bytes)
{
Stream stream = new MemoryStream(bytes);
return stream;
}
// <summary> 
/// 3、字节流转换成图片 
/// </summary> 
/// <param name="byt">要转换的字节流</param> 
/// <returns>转换得到的Image对象</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>
///
4、图片转换成字节流 
/// </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>
/// 5、把图片Url转化成Image对象
/// </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>
/// 6、把本地图片路径转成Image对象
/// </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;
}
}

最后

以上就是唠叨小天鹅为你收集整理的Stream/Bytes[]/Image对象相互转化的全部内容,希望文章能够帮你解决Stream/Bytes[]/Image对象相互转化所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部