C#中Image与Byte数组互转

代码如下:

复制代码
        /// <summary>
        /// 将Image转化为Byte数组
        /// </summary>
        /// <param name="img">要转化的图像</param>
        /// <returns>返回转化后的Byte字节数组</returns>
        public 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字节数组转化为Image图像
        /// </summary>
        /// <param name="bytes">Byte字节数组</param>
        /// <returns>返回转化后的图像</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;
        }
复制代码

 

posted @   青丝·旅人  阅读(836)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
历史上的今天:
2021-09-06 玩转ADB命令(ADB命令使用大全)
2021-09-06 Windows通过USB连接使用ADB实现交互端口占用情况解决
点击右上角即可分享
微信分享提示