• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#base64编码的字符串与图片互转

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
        protected string ImgToBase64String(string Imagefilename)
        {
            try
            {
                Bitmap bmp = new Bitmap(Imagefilename);

                MemoryStream ms = new MemoryStream();
                bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                byte[] arr = new byte[ms.Length];
                ms.Position = 0;
                ms.Read(arr, 0, (int)ms.Length);
                ms.Close();
                return Convert.ToBase64String(arr);
            }
            catch (Exception ex)
            {
                return null;
            }
        }

        //threeebase64编码的字符串转为图片
        protected Bitmap Base64StringToImage(string base64Code)
        {
            try
            {
                string sPath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
                if (sPath.Substring(sPath.Length - 1, 1) != "\\")
                {
                    sPath += "\\";
                }
                if (!Directory.Exists(sPath + "Temp"))
                {
                    Directory.CreateDirectory(sPath + "Temp");
                }

                string sFileName = sPath + "Temp\\" + DateTime.Now.ToString("yyyyMMddHHmmssffff");

                byte[] arr = Convert.FromBase64String(base64Code);
                MemoryStream ms = new MemoryStream(arr);
                Bitmap bmp = new Bitmap(ms);

                string f1 = sFileName + ".jpg";
                string f2 = sFileName + ".bmp";
                string f3 = sFileName + ".gif";
                string f4 = sFileName + ".png";

                bmp.Save(sFileName + ".jpg", ImageFormat.Jpeg);
                bmp.Save(sFileName + ".bmp", ImageFormat.Bmp);
                bmp.Save(sFileName + ".gif", ImageFormat.Gif);
                bmp.Save(sFileName + ".png", ImageFormat.Png);
                ms.Close();

                #region 读取本地文件

                FileStream fs = new FileStream(f1, FileMode.Open, FileAccess.Read);
                BinaryReader br = new BinaryReader(fs);
                byte[] photo = br.ReadBytes((int)fs.Length);
                br.Close();
                fs.Close();

                Copy(photo);

                #endregion

                return bmp;
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message);
                return null;
            }
        }

        protected Bitmap Copy(byte[] arr)
        {
            try
            {
                string sPath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
                if (sPath.Substring(sPath.Length - 1, 1) != "\\")
                {
                    sPath += "\\";
                }
                if (!Directory.Exists(sPath + "Temp\\Temp"))
                {
                    Directory.CreateDirectory(sPath + "Temp\\Temp");
                }

                string sFileName = sPath + "Temp\\Temp\\" + DateTime.Now.ToString("yyyyMMddHHmmssffff");
                
                MemoryStream ms = new MemoryStream(arr);
                Bitmap bmp = new Bitmap(ms);

                string f1 = sFileName + ".jpg";
                string f2 = sFileName + ".bmp";
                string f3 = sFileName + ".gif";
                string f4 = sFileName + ".png";

                bmp.Save(sFileName + ".jpg", ImageFormat.Jpeg);
                bmp.Save(sFileName + ".bmp", ImageFormat.Bmp);
                bmp.Save(sFileName + ".gif", ImageFormat.Gif);
                bmp.Save(sFileName + ".png", ImageFormat.Png);
                ms.Close();

                return bmp;
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message);
                return null;
            }
        }

  


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#框架发布时间:2022-07-10
下一篇:
[转]c#中winform窗口的隐藏与显示发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap