首页 > 代码库 > Image与byte[]之间的转换

Image与byte[]之间的转换

  //将image转化为二进制                   public static byte[] GetByteImage(Image img)        {            byte[] bt = null;            if (!img.Equals(null))            {                using (MemoryStream mostream = new MemoryStream())                {                    Bitmap bmp = new Bitmap(img);                    bmp.Save(mostream, System.Drawing.Imaging.ImageFormat.Bmp);//将图像以指定的格式存入缓存内存流                    bt = new byte[mostream.Length];                    mostream.Position = 0;//设置留的初始位置                    mostream.Read(bt, 0, Convert.ToInt32(bt.Length));                }            }            return bt;        }        /// <summary>        /// 将实际位置中的照片转化为byte[]类型写入数据库中        /// </summary>        /// <param name="strFile">string图片地址</param>        /// <returns>byte[]</returns>        public static byte[] GetBytesByImagePath(string strFile)        {            byte[] photo_byte = null;            using (FileStream fs =            new FileStream(strFile, FileMode.Open, FileAccess.Read))            {                using (BinaryReader br = new BinaryReader(fs))                {                    photo_byte = br.ReadBytes((int)fs.Length);                }            }            return photo_byte;        }        /// <summary>        /// 读取byte[]并转化为图片        /// </summary>        /// <param name="bytes">byte[]</param>        /// <returns>Image</returns>        public static Image GetImageByBytes(byte[] bytes)        {            Image photo = null;            using (MemoryStream ms = new MemoryStream(bytes))            {                ms.Write(bytes, 0, bytes.Length);                photo = Image.FromStream(ms, true);            }             return photo;        }