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相互转换的更多相关文章

  1. UIImage与Base64相互转换

    UIImage与Base64相互转换 采用第三方类 Address:https://github.com/l4u/NSData-Base64/ 经测试好用. 2013-07-17

  2. python PIL/cv2/base64相互转换

    PIL和cv2是python中两个常用的图像处理库,PIL一般是anaconda自带的,cv2是opencv的python版本.base64在网络传输图片的时候经常用到. ##PIL读取.保存图片方法 ...

  3. 图片与Base64相互转换 jar包

    1.右键项目 -->Properties -->Java Bulid Path-> Libraries -->JRE System Library-->Access ru ...

  4. C# Base64字符串转换成图片及图片转换为Base64

    最近有朋友经常会问我一些问题,例如,如何把一个字符串转换成base64字符串,如何把一个二进制文件转换成Base64文件,以及如何转换回原有的文件,在此我把方法写一下   字符串与Base64相互转换 ...

  5. 【CTF】WDCTF-finals-2017 3-11 writeup

    题目来源:WDCTF-finals-2017 题目链接:https://adworld.xctf.org.cn/task/answer?type=misc&number=1&grade ...

  6. php base64格式的图片字符串和图片文件相互转换的代码

    在移动端上传图片的时候通常会将图片转换成base64格式的字符串提交,所以此时需要使用服务器端的程序进行转换成二进制的数据.如下PHP代码实现了图片文件和base64格式的图片字符串相互转换的方法,同 ...

  7. 重温delphi之:如何将Bitmap位图与base64字符串相互转换

    先引用delphi自带的单元 uses EncdDecd; 然后就可以使用下面二个函数了: by 菩提树下的杨过 http://yjmyzz.cnblogs.com/ ///将Bitmap位图转化为b ...

  8. C#中BASE64和图片相互转换

    //图片 转为    base64编码的文本        private void button1_Click(object sender, EventArgs e)        {        ...

  9. byte[] Base64 Stream 之间相互转换

    图片 base64转byte[] /// <summary> /// 保存base64图片,返回阿里云地址 /// </summary> /// <param name= ...

随机推荐

  1. dd命令使用

    一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512:c=1:k=1024:w=2 参数注释: 1. ...

  2. Word2013文章如何直接发布到CSDN博客

    目前大部分的博客作者在用Word写博客这件事情上都会遇到以下3个痛点: 1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.使用Word写 ...

  3. 编写高质量代码改善C#程序的157个建议——建议153:若抛出异常,则必须要注释

    建议153:若抛出异常,则必须要注释 有一种必须加注释的场景,即使异常.如果API抛出异常,则必须给出注释.调用者必须通过注释才能知道如何处理那些专有的异常.通常,即便良好的命名也不可能告诉我们方法会 ...

  4. top命令查看进程列表

    top命令查看进程列表 top命令是linux下常用的性能分析工具,能实时显示系统中各个进程的资源占用状况.和win的资源管理器类似.top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态,如 ...

  5. 学习python2

    字符串遍历 列表遍历 元组遍历 字典遍历 <1> 遍历字典的key(键) <2> 遍历字典的value(值) <3> 遍历字典的项(元素) <4> 遍历 ...

  6. Linq生成操作之DefautIfEmpty,Empty,Range,Repeat源码分析

    Linq生成操作之DefautIfEmpty,Empty,Range,Repeat源码分析 Linq的四种生成运算 DefautIfEmpty,Empty,Range,Repeat 也就是给我们初始化 ...

  7. Android-自动完成提示框CompletionTextView

    自动完成提示框CompletionTextView可以实现以下效果(提示框从那里出来是系统自动处理的): 类似于在百度输入框,输入一个字符,会自动提示很多和这个相关的条目内容 定义自动完成提示框(此控 ...

  8. mybatis-初步使用

    最近因为业务各方面的原因,需要使用mybatis,所以系统的学习和总结下. 其实mybatis出来已经很久了,貌似大家伙用得也挺顺手的样纸,好歹我先不评价,还是先了解了解mybatis的样纸,后续再添 ...

  9. 使用Razor视图引擎来生成邮件内容

    邮件的内容其实是就HTML,传统的做法都是通过在程序中拼接字符串来生成邮件的内容,生成困难,维护也困难.Razor是MVC里面使用的视图引擎,用来生成HTML非常方便,ZKEACMS中就是使用了Raz ...

  10. C#操作Json数据

    JSON是现今各语言实现数据交互应用最广泛的一种格式,在于Xml的比较中,由于 JSON 所使用的字符要比 XML 少得多,可以大大得节约传输数据所占用得带宽. 本文采用的是Newtonsoft.Js ...