//图片 转为  base64编码的文本
    private void button1_Click(object sender, EventArgs e)
    {
      OpenFileDialog dlg = new OpenFileDialog();
      dlg.Title = "选择要转换的图片";
      dlg.Filter = "Image files (*.jpg;*.bmp;*.gif)|*.jpg*.jpeg;*.gif;*.bmp|AllFiles (*.*)|*.*";
      if (DialogResult.OK == dlg.ShowDialog())
      {
        ImgToBase64String(dlg.FileName);
      }
    }
    //图片 转为  base64编码的文本
    private void ImgToBase64String(string Imagefilename)
    {
      try
      {
        Bitmap bmp = new Bitmap(Imagefilename);
        this.pictureBox1.Image = bmp;
        FileStream fs = new FileStream(Imagefilename + ".txt", FileMode.Create);
        StreamWriter sw = new StreamWriter(fs);
        MemoryStream ms = new MemoryStream();
        bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
        byte[] arr = new byte[ms.Length];
        ms.Position = ;
        ms.Read(arr, , (int)ms.Length);
        ms.Close();
        String strbaser64 = Convert.ToBase64String(arr);
        sw.Write(strbaser64);
        sw.Close();
        fs.Close();
        MessageBox.Show("转换成功!");
      }
      catch (Exception ex)
      {
        MessageBox.Show("ImgToBase64String 转换失败/nException:" + ex.Message);
      }
    }
    //base64编码的文本 转为  图片
    private void button2_Click(object sender, EventArgs e)
    {
      OpenFileDialog dlg = new OpenFileDialog();
      dlg.Title = "选择要转换的base64编码的文本";
      dlg.Filter = "txt files|*.txt";
      if (DialogResult.OK == dlg.ShowDialog())
      {
        Base64StringToImage(dlg.FileName);
      }
    }
    //base64编码的文本 转为  图片
    private void Base64StringToImage(string txtFileName)
    {
      try
      {
        FileStream ifs = new FileStream(txtFileName, FileMode.Open, FileAccess.Read);
        StreamReader sr = new StreamReader(ifs);
        String inputStr = sr.ReadToEnd();
        byte[] arr = Convert.FromBase64String(inputStr);
        MemoryStream ms = new MemoryStream(arr);
        Bitmap bmp = new Bitmap(ms);
        bmp.Save(txtFileName + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
        //bmp.Save(txtFileName + ".bmp", ImageFormat.Bmp);
        //bmp.Save(txtFileName + ".gif", ImageFormat.Gif);
        //bmp.Save(txtFileName + ".png", ImageFormat.Png);
        ms.Close();
        sr.Close();
        ifs.Close();
        this.pictureBox1.Image = bmp;
        MessageBox.Show("转换成功!");
      }
      catch (Exception ex)
      {
        MessageBox.Show("Base64StringToImage 转换失败/nException:"+ex.Message);
      }

字符串与图片的Base64编码转换操作的更多相关文章

  1. 图片和base64编码字符串 互相转换,图片和byte数组互相转换

    图片和base64编码字符串 互相转换 import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; import java.io.*; ...

  2. js将图片转为base64编码,以字符串传到后台存入数据库

    (前台在中approve_edit.html中,后台不变) 链接参考:http://www.cnblogs.com/Strom-HYL/p/6782176.html 该链接文中并没有用到easyUI的 ...

  3. JavaScript—图片与base64编码互相转换

    图片转换为base64编码 <input type = "file" id = "file" onchange="popFileName(thi ...

  4. 用javascript实现base64编码器以及图片的base64编码

    前面的话 base-64作为常见的编码函数,在基本认证.摘要认证以及一些HTTP扩展中得到了大量应用.在前端领域,也常常把图片转换为base-64编码在网络中传输.本文将详细介绍base64的原理及用 ...

  5. java 自定义实现base64编码转换

    1.base64编码转换 所谓base64编码,即按照规则把字符转化为"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456 ...

  6. 本地图片转base64编码

    通常获取图片的base64编码都是通过input的上传file属性获取转化,但是有时候需要的是本地图片不经过上传操作,直接拿本地图片转成base64编码就不行了,input上传操作需要人为操作一下,没 ...

  7. 图片的 base64 编码

    图片的 base64 编码就是将一幅图片编码成一串字符串,使用该字符串代替图像地址.我们所看到的网页上的图片,都是需要消耗一个 http 请求下载而来的:(所有才有了 csssprites 技术< ...

  8. Base64编码 图片与base64编码互转

    package com.education.util; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; import jav ...

  9. 图片的Base64编码

    Base64编码是一种图片处理格式,通过特定的算法将图片编码成一长串字符串,在页面上显示的时候,可以用该字符串来代替图片的url属性. 我们可以来看一下实际的效果 Base64编码效果 在上图中,我们 ...

随机推荐

  1. queue for max elem, pop, push

    queue for max elem, pop, push 个人信息:就读于燕大本科软件project专业 眼下大三; 本人博客:google搜索"cqs_2012"就可以; 个人 ...

  2. JVM基础学习之基本概念、可见性与同步

    开发高性能并发应用不是一件容易的事情.这类应用的例子包括高性能Web服务器.游戏服务器和搜索引擎爬虫等.这样的应用可能需要同时处理成千上万个请求.对于这样的应用,一般采用多线程或事件驱动的 架构 .对 ...

  3. 使用pjsip传输已经编码的视频

    http://blog.chinaunix.net/uid-15063109-id-4445165.html ————————————————————————————————————————————— ...

  4. Jquery动态添加 删除 操作实现

    这是gridView为空数据时显示的表头 下面直接填代码: function Add() { //动态添加行 $("#gridCustomerView").append(" ...

  5. HBase源码学习系列

    转自:http://www.cnblogs.com/cenyuhai/tag/hbase%E6%BA%90%E7%A0%81%E7%B3%BB%E5%88%97/ (mark) hbase源码系列(十 ...

  6. Generator生成器函数

    接触过Ajax请求的会遇到过异步调用的问题,为了保证调用顺序的正确性,一般我们会在回调函数中调用,也有用到一些新的解决方案如Promise相关的技术. 在异步编程中,还有一种常用的解决方案,它就是Ge ...

  7. 用newInstance与用new是区别的

    用newInstance与用new是区别的,区别在于创建对象的方式不一样,前者是使用类加载机制,那么为什么会有两种创建对象方式?这个就要从可伸缩.可扩展,可重用等软件思想上解释了.Java中工厂模式经 ...

  8. 【BZOJ】1029: [JSOI2007]建筑抢修(贪心)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1029 按右端点排序后依次加入,并且每一次看是否能被修筑,如果能就修:否则查找原来修过的,如果原来修过 ...

  9. 【BZOJ】1637: [Usaco2007 Mar]Balanced Lineup(前缀和+差分+特殊的技巧)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1637 很神思想.. 前缀和应用到了极点... 我们可以发现当数量一定时,这个区间最前边的牛的前边一个 ...

  10. RabbitMQ组成及原理介绍-3

    rabbitmq作为成熟的企业消息中间件,实现了应用程序间接口调用的解耦,提高系统的吞吐量. 1.RabbitMQ组成 是由 LShift 提供的一个 Advanced Message Queuing ...