/// <summary>

/// 将图片Image转换成Byte[]

/// </summary>

/// <param name="Image">image对象</param>

/// <param name="imageFormat">后缀名</param>

/// <returns></returns>

public static byte[] ImageToBytes(Image Image, System.Drawing.Imaging.ImageFormat imageFormat)

{

  if (Image == null) { return null; }

  byte[] data = null;

  using (MemoryStream ms= new MemoryStream())

  {

   using (Bitmap Bitmap = new Bitmap(Image))

    {

Bitmap.Save(ms, imageFormat);

ms.Position = 0;

data = new byte[ms.Length];

ms.Read(data, 0, Convert.ToInt32(ms.Length));

ms.Flush();

}

  }

return data;

}

/// <summary>

/// byte[]转换成Image

/// </summary>

/// <param name="byteArrayIn">二进制图片流</param>

/// <returns>Image</returns>

public static System.Drawing.Image byteArrayToImage(byte[] byteArrayIn)

{

  if (byteArrayIn == null)

  return null;

  using (System.IO.MemoryStream ms = new System.IO.MemoryStream(byteArrayIn))

  {

    System.Drawing.Image returnImage = System.Drawing.Image.FromStream(ms);

    ms.Flush();

    return returnImage;

  }

}

//Image转换Bitmap

1. Bitmap img = new Bitmap(imgSelect.Image);

2. Bitmap bmp = (Bitmap)pictureBox1.Image;

//Bitmap转换成Image

using System.IO;

private static System.Windows.Controls.Image Bitmap2Image(System.Drawing.Bitmap Bi)

{

  MemoryStream ms = new MemoryStream();

  Bi.Save(ms, System.Drawing.Imaging.ImageFormat.Png);

  BitmapImage bImage = new BitmapImage();

  bImage.BeginInit();

  bImage.StreamSource = new MemoryStream(ms.ToArray());

  bImage.EndInit();

  ms.Dispose();

  Bi.Dispose();

  System.Windows.Controls.Image i = new System.Windows.Controls.Image();

  i.Source = bImage;

  return i ;

}

//byte[] 转换 Bitmap

public static Bitmap BytesToBitmap(byte[] Bytes)

{

MemoryStream stream = null;

  try

  {

    stream = new MemoryStream(Bytes);

    return new Bitmap((Image)new Bitmap(stream));

  }

  catch (ArgumentNullException ex)

  {

    throw ex;

  }

  catch (ArgumentException ex)

  {

    throw ex;

  }

  finally

  {

    stream.Close();

  }

}

//Bitmap转byte[]

public static byte[] BitmapToBytes(Bitmap Bitmap)

{

  MemoryStream ms = null;

  try

   {

    ms = new MemoryStream();

    Bitmap.Save(ms, Bitmap.RawFormat);

    byte[] byteImage = new Byte[ms.Length];

    byteImage = ms.ToArray();

    return byteImage;

  }

  catch (ArgumentNullException ex)

  {

  throw ex;

  }

  finally

  {

    ms.Close();

  }

  }

}

byte,bitmap,image互转的更多相关文章

  1. Bitmap byte[] InputStream Drawable 互转

    import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.InputStrea ...

  2. java中byte和blob互转

    1. btye[]转blob byte[] bs = ... Blob blob = conn.createBlob(); blob.setBytes(1, bs); ps.setBlob(2, bl ...

  3. C# byte[]与char[]、string与char[]、byte[] 与 string 互转

    1. byte array -> char array Byte[] b=new byte[5]{0x01,0x02,0x03,0x04,0x05};  Char[] c=Encoding.AS ...

  4. Bitmap Byte[] 互转

    严正声明:作者:psklf出处: http://www.cnblogs.com/psklf/p/5889978.html欢迎转载,但未经作者同意,必须保留此段声明:必须在文章中给出原文连接:否则必究法 ...

  5. 【转】Drawable /Bitmap、String/InputStream、Bitmap/byte[]

    原文:http://wuxiaolong.me/2015/08/10/Drawable-to-Bitmap/ Drawable互转Bitmap Drawable转Bitmap 1234 Resourc ...

  6. Android Drawable、Bitmap、byte[]之间的转换

    转自http://blog.csdn.net/june5253/article/details/7826597 1.Bitmap-->Drawable Bitmap drawable2Bitma ...

  7. Android中Bitmap,byte[],Drawable相互转化

    一.相关概念 1.Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable) ...

  8. 【Android】[转] Android中Bitmap,byte[],Drawable相互转化

    一.相关概念 1.Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable) ...

  9. C# Bitmap类型与Byte[]类型相互转化

    Bitmap   =>   byte[]  Bitmap b = new Bitmap( "test.bmp "); MemoryStream ms = new Memory ...

随机推荐

  1. [转]30分钟学会反向Ajax

    原文链接:http://www.cnblogs.com/learnhow/p/5708364.html 场景1:当有新邮件的时候,网页自动弹出提示信息而无需用户手动的刷新收件箱. 场景2:当用户的手机 ...

  2. 夺命雷公狗—angularjs—3—表单验证的高级用法

    其实我们的angularjs都是是块状代码,其实是可以在实际开发中保存下来以后就可以达到重复利用的目的了.. 废话不多说,直接上代码: <!doctype html> <html l ...

  3. Trace Sys

    ARM片上调试和跟踪解决方案(包括CoreSight体系结构,嵌入式跟踪宏单元(ETM),程序流程跟踪(PTM),ARM调试接口(ADI), 跟踪缓冲器(ETB),嵌入式交叉触发器(CTM)) Cor ...

  4. 本周PSP+历年作品评论

    本周PSP 类别 内容 开始时间 结束时间 间断时间 净时间(min) 9月11号 看书 构建之法 19:00 21:00 14 106 9月12号 写程序 词频统计多需求版 8:00 14:23 3 ...

  5. [python] No module named _sysconfigdata_nd

    when setting python environment in Ubuntu13.04, i got this error: ImportError: No module named _sysc ...

  6. zw版【转发·台湾nvp系列例程】HALCON MirrorRegion (Delphi)

    zw版[转发·台湾nvp系列例程]HALCON MirrorRegion (Delphi) procedure TForm1.Button1Click(Sender: TObject);var img ...

  7. [div+css]竖排菜单

             }          #box{              width:120px;              font-size: 12px;              font- ...

  8. 形状特征提取-Hu不变矩(转载)

    [原文部分转载]:http://blog.csdn.net/wrj19860202/archive/2011/04/16/6327094.aspx 在连续情况下,图像函数为 ,那么图像的p+q阶几何矩 ...

  9. 创建数据库和表的SQL语句【转】

    创建数据库和表的SQL语句 转至http://www.cnblogs.com/philanthr/archive/2011/08/09/2132398.html 创建数据库的SQL语句: 1 crea ...

  10. SQL SERVER2000中订阅与发布的具体操作

    同步过程 一.准备工作,如果完成则可跳过. 1.内网DB服务器作为发布服务器,外网DB服务器作为订阅服务器. 发布服务器和订阅服务器上分别创建Windows用户jl,密码jl,隶属于administr ...