使用WinForm实现了图片base64编码解码的

效果图:

示例base 64编码字符串:

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

代码如下:

/* by 何问起
hovertree.com*/
using System;
using System.Drawing;
using System.IO;
using System.Windows.Forms; namespace HoverTree.Forms
{
public partial class FormBase64 : Form
{
public FormBase64()
{
InitializeComponent();
} private void button_decode_Click(object sender, EventArgs e)
{
try
{
pictureBox_hovertree.Image = ConvertStringToBitmap(textBox_hovertree.Text);
}
catch (Exception ex)
{ MessageBox.Show("解码失败。" + ex.Message,"HoverTree项目"); }
} Bitmap ConvertStringToBitmap(string base64string)
{
byte[] bt = Convert.FromBase64String(base64string);
MemoryStream h_stream = new MemoryStream(bt);
Bitmap h_bitmap = new Bitmap(h_stream); return h_bitmap;
} string ConvertBitmapToString(Bitmap bitmap)
{
MemoryStream h_m = new MemoryStream();
bitmap.Save(h_m, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] h_b = h_m.GetBuffer();
string base64string = Convert.ToBase64String(h_b); return base64string;
} private void button_open_Click(object sender, EventArgs e)
{
if (openFileDialog_hovertree.ShowDialog() == DialogResult.OK)
{
try
{
pictureBox_hovertree.Image = Image.FromFile(openFileDialog_hovertree.FileName);
}
catch (Exception ex)
{
MessageBox.Show("请选择图片文件。" + ex.Message);
}
}
} private void button_encode_Click(object sender, EventArgs e)
{
try
{
textBox_hovertree.Text = ConvertBitmapToString(new Bitmap(pictureBox_hovertree.Image));
}
catch (Exception ex)
{
MessageBox.Show("解码失败。" + ex.Message,"hovertree.com");
}
} private void button_zishu_Click(object sender, EventArgs e)
{
int h_length = textBox_hovertree.Text.Length;
int h_yushu = h_length % ;
MessageBox.Show("长度:"+h_length.ToString()+",除以4余数为"+h_yushu.ToString()+(h_yushu==?"": ",为非法base64编码"),"何问起");
}
}
}

转自:http://hovertree.com/h/bjaf/wa5nbd3w.htm

参考:http://hovertree.com/h/bjaf/mdklgyjr.htm

更多:http://www.cnblogs.com/sosoft/p/csccgc.html

C# base 64图片编码解码的更多相关文章

  1. opencv python图片编码解码

    cv2.imdecode()函数从指定的内存缓存中读取数据,并把数据转换(解码)成图像格式;主要用于从网络传输数据中恢复出图像.cv2.imencode()函数是将图片格式转换(编码)成流数据,赋值到 ...

  2. Base 64 编码

    原创地址:http://www.cnblogs.com/jfzhu/p/4020097.html 转载请注明出处 (一)Encoding VS. Encryption 很多人都以为编码(Encodin ...

  3. 浅谈 Data URI 与 BASE 64 编码

    前言(废话):鼓捣 Stylish 的时候发现了这么个奇怪的代码行: Data:image/gif;BASE64,R0lGODlhEAAQAKEAAEKF9NPi/AAAAAAAACH5BAEAAAI ...

  4. 快速掌握 Base 64 | 学 Java 密码系列

    Java 密码系列 - Java 和 JS Base 64 Base 64 不属于密码技术,仅是编码方式.但由于在 Java.JavaScript.区块链等出现的频率较高,故在本系列文章中首先分享 B ...

  5. base64 图片编码之再优化

    首先进入网站: http://b64.io/ 最多可减少图片体积容量近70%,建议不要优化base 64 图片格式为gif , 已实测如果用gif的话会增加容量.

  6. C# 图片和64位编码的转换

    /* 将图片转换为64位编码 */ //找到文件夹 System.IO.DirectoryInfo dd = new System.IO.DirectoryInfo("C://qq" ...

  7. 图片base64编码解码

    1.图片base64编码 https://c.runoob.com/front-end/59 2.图片base64解码 https://www.it399.com/image/base64 https ...

  8. base 64 编解码器

    base 64 编解码 1. base64的编码都是按字符串长度,以每3个8bit的字符为一组, 2. 然后针对每组.首先获取每一个字符的ASCII编码. 3. 然后将ASCII编码转换成8bit的二 ...

  9. python 对任意文件(jpg,png,mp3,mp4)base64的编码解码

    程序是事件驱动的,写博客是什么驱动的?事件? 时间?no,我承认我很懒,甚至不愿意记录总结.哪是什么驱动的? 对! 问题驱动的.遇到了问题解决了问题突然想起来搬到blog上,让遇到相同问题的可以参考下 ...

随机推荐

  1. [C#] 进阶 - LINQ 标准查询操作概述

    LINQ 标准查询操作概述 序 “标准查询运算符”是组成语言集成查询 (LINQ) 模式的方法.大多数这些方法都在序列上运行,其中的序列是一个对象,其类型实现了IEnumerable<T> ...

  2. HTML5轻松实现搜索框提示文字点击消失---及placeholder颜色的设置

    在做搜索框的时候无意间发现html5的input里有个placeholder属性能轻松实现提示文字点击消失功能,之前还傻傻的在用js来实现类似功能... 示例 <form action=&quo ...

  3. Win10提示没有权限使用网络资源问题解决

    借鉴链接:http://www.cr173.com/html/67361_1.html Win10提示没有权限使用网络资源解决方法 1.打开控制面板; 2.在所有控制面板项中找到凭据管理器; 3.添加 ...

  4. SQL字符串函数

    LEN() :计算字符串长度(字符的个数.)datalength();//计算字符串所占用的字节数,不属于字符串函数.测试varchar变量与nvarchar变量存储字符串a的区别.见备注1.LOWE ...

  5. Selenium的PO模式(Page Object Model)[python版]

     Page Object Model 简称POM  普通的测试用例代码: .... #测试用例 def test_login_mail(self): driver = self.driver driv ...

  6. 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  7. JavaScript知识结构图

    画的一个知识结构图,方便理解.

  8. 【译】Meteor 新手教程:在排行榜上添加新特性

    原文:http://danneu.com/posts/6-meteor-tutorial-for-fellow-noobs-adding-features-to-the-leaderboard-dem ...

  9. 详解this

    this 虐我千百遍,看完此文效立见!不得不说,这篇文章的总结很地道很全面,适合收藏之用. 原文:all this 习惯了高级语言的你或许觉得JavaScript中的this跟Java这些面向对象语言 ...

  10. ABP(现代ASP.NET样板开发框架)系列之15、ABP应用层——应用服务(Application services)

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之15.ABP应用层——应用服务(Application services) ABP是“ASP.NET Boiler ...