c# 图片转二进制/字符串 二进制/字符串反转成图片

    protected void Button1_Click(object sender, EventArgs e)
    {
        //图片转二进制
        byte[] imageByte = GetPictureData(Server.MapPath("./uploadfile/111.png"));
        //二进制转换成字符串
        string picStr = Convert.ToBase64String(imageByte);
        //输出字符串
        Response.Write(picStr);
        //字符串转二进制
        byte[] imageBytes = Convert.FromBase64String(picStr);
        //读入MemoryStream对象
        MemoryStream memoryStream = new MemoryStream(imageBytes, 0, imageBytes.Length);
        memoryStream.Write(imageBytes, 0, imageBytes.Length);
        //二进制转成图片保存
        System.Drawing.Image image = System.Drawing.Image.FromStream(memoryStream);
        image.Save(Server.MapPath("./uploadfile/222.png"));
    }

    /// <summary>
    /// 二进制流转图片
    /// </summary>
    /// <param name="streamByte">二进制流</param>
    /// <returns>图片</returns>
    public System.Drawing.Image ReturnPhoto(byte[] streamByte)
    {
        System.IO.MemoryStream ms = new System.IO.MemoryStream(streamByte);
        System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
        return img;
    }

    /// <summary>
    /// 图片转二进制
    /// </summary>
    /// <param name="imagepath">图片地址</param>
    /// <returns>二进制</returns>
    public byte[] GetPictureData(string imagepath)
    {
        //依据图片文件的路径使用文件流打开。并保存为byte[]
        FileStream fs = new FileStream(imagepath, FileMode.Open);//能够是其它重载方法
        byte[] byData = new byte[fs.Length];
        fs.Read(byData, 0, byData.Length);
        fs.Close();
        return byData;
    }

    /// <summary>
    /// 图片转二进制
    /// </summary>
    /// <param name="imgPhoto">图片对象</param>
    /// <returns>二进制</returns>
    public byte[] PhotoImageInsert(System.Drawing.Image imgPhoto)
    {
        //将Image转换成流数据,并保存为byte[]
        MemoryStream mstream = new MemoryStream();
        imgPhoto.Save(mstream, System.Drawing.Imaging.ImageFormat.Bmp);
        byte[] byData = new Byte[mstream.Length];
        mstream.Position = 0;
        mstream.Read(byData, 0, byData.Length);
        mstream.Close();
        return byData;
    }

时间: 2024-10-15 00:19:10

c# 图片转二进制/字符串 二进制/字符串反转成图片的相关文章

知道内存中一个图片的指针IntPtr大小,转换成图片显示

//nSize 为总长度//pImageData 为总数据//nImageSize //一个图片的长度 byte[] _bytes = new byte[nImageSize];// //IntPtr infosIntptr = Marshal.AllocHGlobal(pImageData); Marshal.Copy(pImageData, _bytes, 0, nImageSize);//复制 PtrMoveSize(ref pImageData, nImageSize);//丛总内存中去

将字符串,二进制代码转换成图片

2017-03-09//此方法转载人家的  个人觉得写的比较经典 package cn.itsource.pss.service; import java.io.ByteArrayInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream; /** * 将二进制流转换成图片文件 *  * @author 晚风工作室

将二进制流转换成图片文件

import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; /** * 将二进制流转换成图片文件 * * */ public class ImgErToFileUtil { /** * 将接收的字符串转换成图片保存 * @param imgStr 二进制流转

教你怎样把PDF文件转换成图片

将一些PDF文件内容转换成为图片,这在办公中经常会遇到,不管是什么类型的文档要转换成图片,用截图方式是不能很快完成的,尤其是PDF这种文档,有些页面就有很多,那PDF文件如何转换成JPG格式图片. 将PDF转换成图片,一般是以文档的页面为单位,每个页面内容转换成一张图片,而且需要使每张图片的尺寸相同.那么在转换一些页面较少的PDF文档时,可以把PDF文件通过在线转换应用进行转换. 通过在线pdf转换成图片需要转换的PDF文档进行上传,在线转换完成后,将转换好图片的压缩包下载下来就可以了. 转换一

PDF怎么转换成图片格式:手把手教你学会

PDF文件是一中安全性比较高的文件在办公中也是经常能够用到的,它不仅安全性高,而且也很难进行编辑,而图片格式确是一种很容易进行编辑的,想要将PDF转换成图片格式并非是一件难事,那么PDF怎么转换成图片格式,想知道的话就跟着下面的文章继续往下看吧,手把手教你学会.PDF怎么转换成图片格式?下面是PDF转换成图片的案例演示:借助软件:迅捷PDF转换器步骤一:首先先将迅捷PDF转换器下载到电脑中去,之后可双击运行软件步骤二:进入到软件的功能页面,可点击"PDF转成其他文件"点击下方的&quo

将图片的二进制字节字符串在HTML页面以图片形式输出

具体实现代码如下: 1.新建一个一般处理程序: Image.ashx 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Net; 6 using System.Drawing.Imaging; 7 using System.IO; 8 9 namespace Test 10 { 11 /// <summary> 12 ///测试图

图片转成二进制并且压缩字符串

今天工作需要写了一个把图片转成字符串,并且压缩的小功能,其中用到了多线程去转换字符串,感觉写的还是不错的,拿出来分享一下 1 /// <summary> 2 /// 创建多核任务 3 /// </summary> 4 /// <param name="bytimages"></param> 5 /// <param name="count">创建几个核</param> 6 public stri

请求一个action,将图片的二进制字节字符串在视图页面以图片形式输出

有些时候需要将二进制图片字节在发送浏览器以图片形式显示: 下面是一些示例代码: 控制器: 1 /// <summary> 2 /// 将图片的二进制字节字符串在视图页面以图片形式输出 3 /// </summary> 4 public class HomeController : Controller 5 { 6 7 public ActionResult Test() 8 { 9 return View(); 10 } 11 12 //方法一: 13 public FileRes

json序列化后的是字符串,不是二进制。是字符串!!!确定不是二进制!!!

1.现有一个自定义对象需要储存到sql数据库中去.这个对象里面属性很多,甚至包含一些元素量打到几十万的List集合属性.本人试着使用JSON序列化这个对象,储存到数据库,报maxjsonlength超限,于是修改为了Int32.MaxValue.这样做,虽然不报错了,但是JOSN字符串肯定很长的吧,这样,会使得数据库文件很大的吧.我想问的是,采用二进制储存,会不会没有这么大? : 从业务上说,为啥不把这些数据分解成数据库记录来存储?而要序列化打包成一堆难以查询的数据来存储?从技术上说,个人认为你