//将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; }
Image与byte[]之间的转换
时间: 2024-10-11 15:23:21