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

  • 相关阅读:
    MySQL 锁的监控及处理
    mssql sqlserver 不固定行转列数据(动态列)
    SQL常用增删改查语句--来源于网络
    mssql sqlserver 对不同群组对象进行聚合计算的方法分享
    mssql sqlserver 自动备份存储过程的方法分享
    mssql sqlserver updatetext关键字应用简介说明
    mssql sqlserver 将字段null(空值)值替换为指定值的三种方法分享
    mssql sqlserver with cte表达式(递归)找出最顶值的方法分享
    mssql sqlserver text数据类型专题说明
    mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享
  • 原文地址:https://www.cnblogs.com/zlcom/p/3201962.html
Copyright © 2011-2022 走看看