C# base 64图片编码解码
使用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图片编码解码的更多相关文章
- opencv python图片编码解码
cv2.imdecode()函数从指定的内存缓存中读取数据,并把数据转换(解码)成图像格式;主要用于从网络传输数据中恢复出图像.cv2.imencode()函数是将图片格式转换(编码)成流数据,赋值到 ...
- Base 64 编码
原创地址:http://www.cnblogs.com/jfzhu/p/4020097.html 转载请注明出处 (一)Encoding VS. Encryption 很多人都以为编码(Encodin ...
- 浅谈 Data URI 与 BASE 64 编码
前言(废话):鼓捣 Stylish 的时候发现了这么个奇怪的代码行: Data:image/gif;BASE64,R0lGODlhEAAQAKEAAEKF9NPi/AAAAAAAACH5BAEAAAI ...
- 快速掌握 Base 64 | 学 Java 密码系列
Java 密码系列 - Java 和 JS Base 64 Base 64 不属于密码技术,仅是编码方式.但由于在 Java.JavaScript.区块链等出现的频率较高,故在本系列文章中首先分享 B ...
- base64 图片编码之再优化
首先进入网站: http://b64.io/ 最多可减少图片体积容量近70%,建议不要优化base 64 图片格式为gif , 已实测如果用gif的话会增加容量.
- C# 图片和64位编码的转换
/* 将图片转换为64位编码 */ //找到文件夹 System.IO.DirectoryInfo dd = new System.IO.DirectoryInfo("C://qq" ...
- 图片base64编码解码
1.图片base64编码 https://c.runoob.com/front-end/59 2.图片base64解码 https://www.it399.com/image/base64 https ...
- base 64 编解码器
base 64 编解码 1. base64的编码都是按字符串长度,以每3个8bit的字符为一组, 2. 然后针对每组.首先获取每一个字符的ASCII编码. 3. 然后将ASCII编码转换成8bit的二 ...
- python 对任意文件(jpg,png,mp3,mp4)base64的编码解码
程序是事件驱动的,写博客是什么驱动的?事件? 时间?no,我承认我很懒,甚至不愿意记录总结.哪是什么驱动的? 对! 问题驱动的.遇到了问题解决了问题突然想起来搬到blog上,让遇到相同问题的可以参考下 ...
随机推荐
- 关于Android避免按钮重复点击事件
最近测试人员测试我们的APP的时候,喜欢快速点击某个按钮,出现一个页面出现多次,测试人员能不能禁止这样.我自己点击了几下,确实存在这个问题,也感觉用户体验不太好.于是乎后来我搜了下加一个方法放在我们U ...
- JS魔法堂:不完全国际化&本地化手册 之 理論篇
前言 最近加入到新项目组负责前端技术预研和选型,其中涉及到一个熟悉又陌生的需求--国际化&本地化.熟悉的是之前的项目也玩过,陌生的是之前的实现仅仅停留在"有"的阶段而已. ...
- OpenDigg前端开源项目周报1219
由OpenDigg 出品的前端开源项目周报第二期来啦.我们的前端开源周报集合了OpenDigg一周来新收录的优质的前端开发方面的开源项目,方便前端开发人员便捷的找到自己需要的项目工具等.react-f ...
- 两个变量交换的四种方法(Java)
对于两种变量的交换,我发现四种方法,下面我用Java来演示一下. 1.利用第三个变量交换数值,简单的方法. (代码演示一下) class TestEV //创建一个类 { public static ...
- AutoMapper(三)
返回总目录 自定义类型转换 有时,需要完全控制一个类型到另一个类型的转换.一个类型一点都不像另一个类型,而且转换函数已经存在了,在这种情况下,你想要从一个“宽松”的类型转换成一个更强壮的类型,例如一个 ...
- 新手如何在gdb中存活
网络上已经有很多gdb调试的文章了,为什么我还要写这篇文章呢,因为本文是写给gdb新手的,目的就是通过一个简单的例子来让新手很快上手.一旦上手入门了,其他的问题就可以自己去搜索搞定了.右边是gdb的L ...
- 使用mapreduce计算环比的实例
最近做了一个小的mapreduce程序,主要目的是计算环比值最高的前5名,本来打算使用spark计算,可是本人目前spark还只是简单看了下,因此就先改用mapreduce计算了,今天和大家分享下这个 ...
- Leetcode 笔记 100 - Same Tree
题目链接:Same Tree | LeetCode OJ Given two binary trees, write a function to check if they are equal or ...
- exportfs 入门/ 错误
exportfs -uv 不能卸载, exportfs -au 才可以 ================================================================ ...
- 升级xcode8 之后遇到的一些问题
昨天趁着快下班,就将xcode升级为8了,运行起来并没有什么问题,今天一早过来运行,结果,模拟器打不开了.... 1. unable to boot the Simulator 解决办法:重启Mac时 ...