Image和Base64相互转换
1.图片转换为Base64
/// <summary>
/// 图片转换为base64
/// </summary>
/// <param name="imagefile">图片路径</param>
/// <param name="picFomatter">图片格式(.jpg、.png等)</param>
/// <returns></returns>
public string GetBase64FromImage(string imagefile,string picFomatter)
{
string strbaser64 = "";
try
{
Bitmap bmp = new Bitmap(imagefile);
MemoryStream ms = new MemoryStream(); ImageFormat format = ImageFormat.Jpeg; switch (picFomatter)
{
case "png":
format = ImageFormat.Png;
break;
case "bmp":
format = ImageFormat.Bmp;
break;
} bmp.Save(ms, format);
byte[] arr = new byte[ms.Length];
ms.Position = ;
ms.Read(arr, , (int)ms.Length);
ms.Close();
ms.Dispose();
strbaser64 = Convert.ToBase64String(arr);
switch (picFomatter)
{
case "jpg":
strbaser64 = "data:image/" + picFomatter + ";base64," + strbaser64;
break;
case "jpeg":
strbaser64 = "data:image/" + picFomatter + ";base64," + strbaser64;
break;
case "bmp":
strbaser64 = "data:image/" + picFomatter + ";base64," + strbaser64;
break;
default:
strbaser64 = "data:image/png" + ";base64," + strbaser64;
break;
}
}
catch (Exception)
{
throw new Exception("Something wrong during convert!");
}
return strbaser64;
}
2.Base64转换图片
/// <summary>
/// Base64转换图片
/// </summary>
/// <param name="strbase64">base64字符串</param>
/// <param name="picFomatter">图片格式</param>
/// <returns></returns>
public string Base64StringToImage(string strbase64, string picFomatter)
{
try
{
byte[] arr = Convert.FromBase64String(strbase64);
MemoryStream ms = new MemoryStream(arr);
Bitmap bmp = new Bitmap(ms);
string filePath = System.AppDomain.CurrentDomain.BaseDirectory;
ImageFormat format = ImageFormat.Jpeg; switch (picFomatter)
{
case "png":
format = ImageFormat.Png;
break;
case "bmp":
format = ImageFormat.Bmp;
break;
}
string filename = filePath + DateTime.Now.ToFileTime().ToString() + "." + picFomatter;
bmp.Save(filename, format);
ms.Close();
return filename;
}
catch (Exception ex)
{
return null;
}
}
/// <summary>
/// 判断是否Base64编码
/// </summary>
/// <param name="s">编码字符串</param>
/// <returns></returns>
public bool IsBase64(string s)
{
try
{
Convert.FromBase64String(s);
return true;
}
catch (FormatException)
{
return false;
}
}
Image和Base64相互转换的更多相关文章
- UIImage与Base64相互转换
UIImage与Base64相互转换 采用第三方类 Address:https://github.com/l4u/NSData-Base64/ 经测试好用. 2013-07-17
- python PIL/cv2/base64相互转换
PIL和cv2是python中两个常用的图像处理库,PIL一般是anaconda自带的,cv2是opencv的python版本.base64在网络传输图片的时候经常用到. ##PIL读取.保存图片方法 ...
- 图片与Base64相互转换 jar包
1.右键项目 -->Properties -->Java Bulid Path-> Libraries -->JRE System Library-->Access ru ...
- C# Base64字符串转换成图片及图片转换为Base64
最近有朋友经常会问我一些问题,例如,如何把一个字符串转换成base64字符串,如何把一个二进制文件转换成Base64文件,以及如何转换回原有的文件,在此我把方法写一下 字符串与Base64相互转换 ...
- 【CTF】WDCTF-finals-2017 3-11 writeup
题目来源:WDCTF-finals-2017 题目链接:https://adworld.xctf.org.cn/task/answer?type=misc&number=1&grade ...
- php base64格式的图片字符串和图片文件相互转换的代码
在移动端上传图片的时候通常会将图片转换成base64格式的字符串提交,所以此时需要使用服务器端的程序进行转换成二进制的数据.如下PHP代码实现了图片文件和base64格式的图片字符串相互转换的方法,同 ...
- 重温delphi之:如何将Bitmap位图与base64字符串相互转换
先引用delphi自带的单元 uses EncdDecd; 然后就可以使用下面二个函数了: by 菩提树下的杨过 http://yjmyzz.cnblogs.com/ ///将Bitmap位图转化为b ...
- C#中BASE64和图片相互转换
//图片 转为 base64编码的文本 private void button1_Click(object sender, EventArgs e) { ...
- byte[] Base64 Stream 之间相互转换
图片 base64转byte[] /// <summary> /// 保存base64图片,返回阿里云地址 /// </summary> /// <param name= ...
随机推荐
- SurfaceView实时绘图,视频流
- 编写高质量代码改善C#程序的157个建议——建议85:Task中的异常处理
建议85:Task中的异常处理 在任何时候,异常处理都是非常重要的一个环节.多线程与并行编程中尤其是这样.如果不处理这些后台任务中的异常,应用程序将会莫名其妙的退出.处理那些不是主线程(如果是窗体程序 ...
- asp.net WebAPI 问题 iisnode默认不支持PUT和DELETE的解决
因为iisnode的自动重启服务器方便,一直用的它来作为开发中的node服务器,今天一个delete命令过去,得到一个405(?好像是)错误,让我很郁闷. 用原生的node试一下,是完美支持的,本来打 ...
- VC++中GDI和GDI+ 的坐标系统介绍
在Windows应用程序中,只要进行绘图,就要使用GDI坐标系统.Windows提供了几种映射方式,每一种映射都对应着一种坐标系.例如,绘制图形时,必须给出图形各个点在客户区的位置,其位置用x 和y两 ...
- MongoDB默认配置
mongodb使用了yaml格式定义的配置文件(http://www.yaml.org/) 默认为: # mongod.conf #where to log logpath=/var/log/mong ...
- 加载log文件
procedure Jslog(szLogText:string);var pMyFile : TextFile;begin Assignfile(pMyFile, 'log.txt'); if Fi ...
- CentOS中安装Java环境 jdk
一. 在CentOS中只需要先移除自带的OpenJava,再安装原生的Java SDK. <1> rpm -qa | grep jdk: 也就是query all npm 包,找 ...
- C# 字符,字符串和文本处理。
1. 字符: 在.net中 字符是表示成16为Unicode代码值.每个字符都是System.Char结构(一个值类型)的实例. public class StringTempte { public ...
- uwsgi启动Django项目时:unable to load app 0 (mountpoint='') (callable not found or import error) *** no app loaded. going in full dynamic mode ***
说起来有点坑 用命令都能正常启动,但是用配置文件就是不行 提示 unable to load app (mountpoint='') (callable not found or import err ...
- (zxing.net)一维码Codabar的简介、实现与解码
一.简介 一维码Codabar:由4条黑色线条,3条白色线条,合计7条线条所组成,每一个字元与字元之间有一间隙Gap做区隔. 条形码Codabar包含21个字元: (1).10个数字0~9; (2). ...