`
wangleifire
  • 浏览: 509140 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Base64编码的字符串与图片的转换 C#

    博客分类:
  • c#
阅读更多
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Drawing.Imaging;

namespace base64_img
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //图片 转为    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 = 0;
                ms.Read(arr, 0, (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);
            }
        }
    }
}
分享到:
评论

相关推荐

    c#中 base64字符串与普通字符串互转

    1. 将普通字符串转换为Base64字符串 在C#中,我们可以使用`System.Convert`类的`ToBase64String`方法将普通字符串(UTF-8编码的字节数组)转换为Base64字符串。首先,我们需要将字符串转换为字节数组,然后进行编码...

    图片与Base64加密码字符串相互转换工具

    如果是源代码文件,那么它可能包含了实现图片与Base64加密码字符串转换的核心逻辑。 综合以上分析,该工具涉及的技术点包括: 1. 图像处理:读取、显示和保存图片文件,可能使用了如OpenCV、PIL等库。 2. Base64...

    C# 文件转换base64

    3. 应用Base64编码:使用`System.Convert.ToBase64String()`方法将二进制数据转换为Base64字符串。 ```csharp string base64String = Convert.ToBase64String(fileBytes); ``` 4. 关闭资源:确保在完成操作后关闭`...

    base64字符串和图片的相互转换

    在描述的场景中,我们有两个关键操作:将图片转换为Base64字符串,并将Base64字符串还原为图片。 1. **图片转Base64字符串**: 在这个过程中,图片文件(通常为.jpg, .png, .gif等形式)被读取并转化为字节流。...

    c#字符串转为base64

    例如,`Convert.ToBase64String(byteArray)`将返回一个表示`byteArray`的Base64编码字符串。 3. **Base64解码**:如果需要将Base64字符串转换回原来的字符串或字节数组,可以使用`Convert.FromBase64String()`方法...

    C#实现字符串与图片的Base64编码转换操作示例

    在示例程序中,我们首先定义了一个Form1类,包含两个按钮,一个用于将图片转换为Base64编码的字符串,另一个用于将Base64编码的字符串转换为图片。 在按钮1的Click事件处理程序中,我们首先使用OpenFileDialog类来...

    base64转化为图片保存到本地

    总的来说,通过理解Base64编码和.NET Framework提供的工具,我们可以方便地将Base64字符串转换为本地图片文件,这在许多Web应用和数据交换场景中都非常实用。在处理这些任务时,应注重代码的可读性、健壮性和性能...

    c# Base64编码和图片的互相转换代码

    事出有因  我们已经做了一个编辑器,这个编辑器可以以xml格式存储一些信息。在存储图片信息时我们碰到了一些问题。我们本来在xml信息中存储的是图片的路径,...将Base64字符串转换为图片的流程正好相反:使用Convert

    C#图片与Base64字符串互转示例源代码

    本示例源代码主要展示了如何在C#中进行图片和Base64字符串之间的转换。下面将详细介绍这两个过程: 1. **图片转Base64字符串**: - 首先,你需要读取图片文件。在C#中,可以使用`System.Drawing.Image`类来加载...

    .netC#中图片与BASE64码互相转换

    5. **转换为BASE64字符串**:利用`.NET`中的`Convert.ToBase64String`函数将字节数组转换为BASE64编码字符串。 6. **写入文件**:将得到的BASE64字符串写入一个文本文件。 具体实现代码如下: ```csharp private ...

    Base64编码转换工具

    2. FromBase64String()方法:这个方法将Base64编码的字符串转换回字节数组。例如: ```csharp string base64String = "SGVsbG8sIFdvcmxkIQ=="; byte[] byteData = Convert.FromBase64String(base64String); string ...

    C# 字符串转十六进制串,16进制反向转回原字符串

    要将字符串转换为十六进制串,我们需要对字符串中的每个字符进行编码,然后将编码结果转换成十六进制字符串。C#提供了`BitConverter`类和`ToString`方法来完成这个任务: ```csharp public static string StringTo...

    文件转换为Base64编码

    - **JSON数据**:JSON不支持二进制数据,所以需要将二进制数据如图片或音频文件转换为Base64字符串,然后以文本形式嵌入到JSON对象中。 - **配置文件**:在配置文件中,Base64编码可以安全地存储敏感数据,如加密...

    C#使用base64对字符串进行编码和解码的测试

    示例代码中的Base64Test方法创建了一个Base64编码字符串,然后通过UnBase64String方法对其进行解码,并通过Debug.Log方法输出编码前后的字符串,以供开发者观察编码和解码的结果是否一致。 文章最后也提到了,如果...

    PDF和Base64格式互相转换

    这个过程包括两个步骤:首先,使用Base64解码算法将字符串转换回二进制数据;其次,将解码后的二进制数据写入新的PDF文件中。 3. **编程实现**: 在编程中,多个语言提供了转换工具或库。例如,在Python中,你可以...

    HexString和Base64String的相互转换

    例如,当从网络接收数据时,可能接收到的是Base64编码的字符串,我们需要将其解码为原始的二进制数据;反之,当发送数据时,可能需要将二进制数据转换为Base64格式以适应传输要求。这就需要用到描述中提到的“小程序...

    Base64转二进制文件,Base64 To File

    Base64编码会将3个字节的二进制数据转化为4个字符的Base64字符串,每个Base64字符代表6位的二进制数,总共能表示2^64 = 64种不同的值。 标题"Base64转二进制文件,Base64 To File"涉及到的核心技术是将Base64编码的...

    base64 加解码 base64转hex Base64转图片 图片转Base64工具,比网上其它的方便好用,支持大于1M内容

    将Base64字符串转换为十六进制可以提供另一种查看和处理二进制数据的方法。有时,十六进制格式在某些场景下更方便,例如在调试或与其他系统交互时。 5. **Base64转图片**:如果Base64字符串代表的是图像数据,那么...

    base64 Base64编码 .NET C#

    本篇文章介绍了如何在.NET和C#环境中使用Base64编码进行字符串和文件的编码及解码。这些方法对于开发人员来说是非常实用的工具,可以在处理网络传输、数据存储等方面发挥重要作用。通过对这些代码的理解和实践,可以...

    BASE64编码方法

    - BASE64编码的字符串首先被分割成单独的6位块,每个块对应一个字符。 - 按照字符在字符表中的位置,还原为6位的二进制表示。 - 重新组合这些6位块,形成每3个块(24位)为一组的二进制数据。 - 如果在编码过程...

Global site tag (gtag.js) - Google Analytics