C# Binary与Image的转换(图片和二进制数组)

若对图片加密性没有要求的情况下,可以直接使用二进制数据或者base64进行存储。
以下为直接将图片进行二进制转换的实例。
public static string filePath = @"C:\Users\MelanceXin\Desktop\Test\abcs1.jpg";

        static void Main(string[] args)
        {
            byte[] bb= FromImageToBinary(filePath);
            Console.WriteLine("FromImageToBinary OK");
            Console.ReadKey();

            Image img =FromBinaryToImage(bb);
            Console.WriteLine("FromBinaryToImage OK");
            Console.ReadKey();
        }

        /// <summary>
        /// 将二进制转为图片
        /// </summary>
        /// <param name="byteArrayImage"></param>
        public static Image FromBinaryToImage(byte[] byteArrayImage)
        {

            using (System.IO.MemoryStream ms = new System.IO.MemoryStream(byteArrayImage))
            {
                System.Drawing.Image returnImage = System.Drawing.Image.FromStream(ms);
                ms.Flush();
                return returnImage;
                //returnImage.Save(filePath);
            }
        }

        /// <summary>
        /// 将图片转为二进制
        /// </summary>
        /// <returns></returns>
        public static byte[] FromImageToBinary(string path)
        {
            System.Drawing.Image returnImage = System.Drawing.Image.FromFile(path);

            using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
            {
                returnImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                ms.Flush();
                byte[] byteArrayImage = ms.ToArray();
                return byteArrayImage;
            }
        }

关于base64的编码和解码实例,见如下
https://blog.csdn.net/Q672405097/article/details/88414045

猜你喜欢

转载自blog.csdn.net/Q672405097/article/details/89403349