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

原创 2015年07月08日 09:50:57
    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;
    }

版权声明:本文为博主原创文章,未经博主允许不得转载,如文章对您有帮助,请页面左侧随意打赏。

相关文章推荐

.NET中二进制图片的存储与读取

.NET二进制图片存储与读取的常见方法有以下几种: .NET二进制图片存储:以二进制的形式存储图片时,要把数据库中的字段设置为Image数据类型(SQL Server),存储的数据是Byte[]. ...

asp.net 从数据库中读取而二进制数据图片,展示在Image中

1、首先建立新页面Default2.aspx protected void Button3_Click(object sender, EventArgs e)     {         Ima...

C# 将图片转换为ASCii字符

将图片转换为ASCii字符,就是根据图片的亮度(或者称灰度),用ASCii字符代替图片的像素点或图片的分块。效果如下图: Lena灰度图 LenaASCii字符图基本原理灰度图首先要引入一...

将接收的二进制流转换成图片保存

将接收的二进制流转换成图片保存/**

c#图片与二进制流相互转换

个人认为这个比较有意思,可以把图片转换成二进制流存到数据库中,再转换出来,用来存储自己的私密照片。 两个函数代码如下: #region//图片转换为二进制流 pub...

Java 将图片转二进制再将二进制转成图片

import java.awt.image.BufferedImage;       import java.io.ByteArrayInputStream;       import java....

图片二进制互相转换C#

图片二进制互相转换C#   图片的常见存储与读取凡是有以下几种: 存储图片:以二进制的形式存储图片时,要把数据库中的字段设置为Image数据类型(SQL Server),存储的数据是By...

C# asp中,如何把二进制图片流转换成图片,并显示在网页上的一些注意事项

最近在把二进制图片流转换成图片时遇到一些问题
  • cmsmdn
  • cmsmdn
  • 2014年10月22日 18:40
  • 1790

ASP.Net将图片以二进制方式存入数据库,并读取

把图片转换成二进制--把二进制转换成图片 private void button1_Click(object sender, EventArgs e) ...
  • my98800
  • my98800
  • 2016年11月08日 09:17
  • 992

图片与二进制数据的转换

概述: 最近在做项目时,遇到要把图片文件转换成二进制数据,然后将数据储存,再读出来,最后显示图片, 后期的储存和再次读取都没有什么问题,最大的问题是要确保将图片转换成二进制的数据正确,否则后面 ...
  • Andy_93
  • Andy_93
  • 2017年03月26日 11:08
  • 1611
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c# 图片转二进制/字符串 二进制/字符串反转成图片
举报原因:
原因补充:

(最多只允许输入30个字)