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;
    }

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

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

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

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

import java.awt.image.BufferedImage;       import java.io.ByteArrayInputStream;       import java....
  • linwei_hello
  • linwei_hello
  • 2015年03月25日 17:31
  • 11860

图片与二进制数据的转换

概述: 最近在做项目时,遇到要把图片文件转换成二进制数据,然后将数据储存,再读出来,最后显示图片, 后期的储存和再次读取都没有什么问题,最大的问题是要确保将图片转换成二进制的数据正确,否则后面 ...
  • Andy_93
  • Andy_93
  • 2017年03月26日 11:08
  • 2675

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

import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream; import jav...
  • u010926176
  • u010926176
  • 2014年01月27日 17:26
  • 12159

NET二进制图片存储与读取的常见方法

.NET二进制图片存储:以二进制的形式存储图片时,要把数据库中的字段设置为Image数据类型(SQL Server),存储的数据是Byte[].   1.参数是图片路径:返回Byte[]类型:  ...
  • chengs_
  • chengs_
  • 2015年07月07日 09:13
  • 2287

java网络图片和二进制字符串间的转换

/** * @Title getImgeHexString * @Description 网络图片转换成二进制字符串 * @param URLName ...
  • u012833063
  • u012833063
  • 2015年01月28日 12:58
  • 1254

C#将图片以二进制流形式存到数据库,并读取显示

private void button1_Click(object sender, EventArgs e) { OpenFileDialog ofd = ne...
  • QingHeShiJiYuan
  • QingHeShiJiYuan
  • 2015年09月25日 19:47
  • 5391

C#.NET WebApi返回各种类型(图片/json数据/字符串),.net图片转二进制流或byte

原文:http://www.itdos.com/Mvc/20150302/0741255.html using System.IO; ///  /// WebApi返回图片 ///  publi...
  • Joyhen
  • Joyhen
  • 2015年07月08日 14:04
  • 7189

WinForm把图片打成二进制,并把二进制转化为图片

写: FileStream fs = new FileStream("图片路径", FileMode.Open); Byte[] imagebytes = new byte[fs.Length...
  • wzwzwzwzw
  • wzwzwzwzw
  • 2012年07月19日 11:20
  • 1446

Android 图片转二进制流及二进制转字符串

public static byte[] readStream(String imagepath) throws Exception { FileInputStream fs = new Fi...
  • u014484743
  • u014484743
  • 2017年08月31日 17:48
  • 507
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c# 图片转二进制/字符串 二进制/字符串反转成图片
举报原因:
原因补充:

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