zoukankan      html  css  js  c++  java
  • 图像与byte[]转换

    在做水晶报表时用到二维码,   而生成的二维码是图片  ,打印时只能先进行转换

    #region 图像与byte[]转换
            #region 将实际位置中的照片转化为byte[]类型
            /// <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;
            }
                #endregion

            #region 将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.Jpeg);//将图像以指定的格式存入缓存内存流
                        bt = new byte[mostream.Length];
                        mostream.Position = 0;//设置留的初始位置
                        mostream.Read(bt, 0, Convert.ToInt32(bt.Length));
                    }
                }
                return bt;
            }
            #endregion


            #region 读取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;
            }
            #endregion
          
            #endregion

  • 相关阅读:
    Lua函数
    Lua 造成的代码冗余太严重了, 这个现状怎么改善?
    Lua 造成的代码冗余太严重了, 这个现状怎么改善?
    Lua 错误处理方法
    Lua 错误处理方法
    C++引用、指针的选择
    C++引用、指针的选择
    Windows 7下VS2008升级补丁
    Windows 7下VS2008升级补丁
    天龙八部服务器端共享内存的设计(3/3)
  • 原文地址:https://www.cnblogs.com/zlcom/p/3201962.html
Copyright © 2011-2022 走看看