C#实现把图片转换成二进制以及把二进制转换成图片的方法示例

来源:脚本之家  责任编辑:小易  

byte[] byt = (byte[])dr[0]["FILEBODY"];

本文实例讲述了C#实现把图片转换成二进制以及把二进制转换成图片的方法。分享给大家供大家参考,具体如下:

先加入下面的方法,然后把你最后一行改为MakeThumbnail(img,"e:\\Se

private void button1_Click(object sender, EventArgs e)
{
 string path = this.textBox1.Text;
 byte[] imgBytesIn = SaveImage(path);
 ShowImgByByte(imgBytesIn);
 //Parameters.Add("@Photo", SqlDbType.Binary).Value = imgBytesIn;
}
//将图片以二进制流
public byte[] SaveImage(String path)
{
 FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read); //将图片以文件流的形式进行保存
 BinaryReader br = new BinaryReader(fs);
 byte[] imgBytesIn = br.ReadBytes((int)fs.Length); //将流读入到字节数组中
 return imgBytesIn;
}
//现实二进制流代表的图片
public void ShowImgByByte(byte[] imgBytesIn)
{
 MemoryStream ms = new MemoryStream(imgBytesIn);
 pictureBox1.Image = Image.FromStream(ms);
}

using (HttpClient client = new HttpClient())

二、将图片保存到数据库中,并从数据库中读取:

首先 byte[] 就是二进制流的。你的意思是不是转换成二进制字符串?将fingerP

#region 将图片从数据库中读取
/// <summary>
/// 将图片从数据库中读取
/// </summary>
/// <param name="xs_ID">要读取图片的学号</param>
/// <param name="ph">pictureBox1控件名</param>
public void get_photo(string xs_ID, PictureBox ph)//将图片从数据库中读取
{
 byte[] imagebytes = null;
 getcon();
 SqlCommand con = new SqlCommand("select * from S_jiben where S_num='" + xs_ID + "'", link);
 SqlDataReader dr = con.ExecuteReader();
 while (dr.Read())
 {
  imagebytes =(byte[])dr.GetValue(18);
 }
 dr.Close();
 con_close();
 MemoryStream ms = new MemoryStream(imagebytes);
 Bitmap bmpt = new Bitmap(ms);
 ph.Image = bmpt;
}
#endregion
#region
public void SaveImage(string MID, OpenFileDialog openF)//将图片以二进制存入数据库中
{
 string strimg = openF.FileName.ToString(); //记录图片的所在路径
 FileStream fs = new FileStream(strimg, FileMode.Open, FileAccess.Read); //将图片以文件流的形式进行保存
 BinaryReader br = new BinaryReader(fs);
 byte[] imgBytesIn = br.ReadBytes((int)fs.Length); //将流读入到字节数组中
 getcon();
 StringBuilder strSql = new StringBuilder();
 strSql.Append("update S_jiben Set xs_photo=@Photo where S_num=" + MID);
 SqlCommand cmd = new SqlCommand(strSql.ToString(), link);
 cmd.Parameters.Add("@Photo", SqlDbType.Binary).Value = imgBytesIn;
 cmd.ExecuteNonQuery();
 con_close();
}
#endregion

一定要知道"输出"和"显示"是两个不一样的概念。显示只是输出

更多关于C#相关内容感兴趣的读者可查看本站专题:《C#图片操作技巧汇总》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#面向对象程序设计入门教程》及《C#程序设计之线程使用技巧总结》

说到小米和vivo的手机系统,在手机用户之中,小米的MIUI系统的名气确实要更大一些。小米手机MIUI系统有着很多的功能,功能非常全面,并且还保持着每周持续的系统更新,对于极客来说,这样的小米系统是最好的。可以最早的享受到各类的手机功能。但是,如果要说到实用性方面的话,小米的MIUI系统就不一定是最好的了。虽然说小米的MIUI系统的功能非常多,是国内所有的手机系统中功能最多的。但要知道,功能多并不代表就有很好的实用性。MIUI系统中不论是什么功能都想加入,于是就有许许多多的根本用不着的功能,在实用性方面大打折扣。而vivo的Funtouch系统中虽然功能没有MIUI那么多,但是都是非常有实用意

希望本文所述对大家C#程序设计有所帮助。

屈臣氏52件最值得买单品,要什么导购!本文由有调APP原创。「有调」是一个品质生活导购平台,这里有一群追求生活品质的年轻人,以独特新锐的视角、客观真实的评测,为向往美好生活的人,找寻真正值得买的好东西。没有肌水、没有旁氏米粹,这是一篇走心的屈臣氏推荐。虽然名创优品已经开的漫山遍野,但护肤品还是在屈臣氏买比较放心。出门在外,防晒霜化妆棉身体乳没了,去屈臣氏随便买两瓶回来;外面吃饭排队看电影候场,到屈臣氏里逛逛看看什么在打折囤货;妇女之友一般的屈臣氏就是这么可爱!所以今天贴心的有调app就为大家总结了一番屈臣氏值得买的好东(pian)西(yi)。先来几个tips:①注册会员惊喜多多,但平时注册要2

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

C#中 怎么实现 把图片转化为二进制的流存入数据库!谢谢

public static byte[] ImageDatabytes(string FilePath)

{

if(!File.Exists(FilePath))

return null;

Bitmap myBitmap = new Bitmap(Image.FromFile(FilePath));

using (MemoryStream curImageStream = new MemoryStream())

{

myBitmap.Save(curImageStream, System.Drawing.Imaging.ImageFormat.Png);

curImageStream.Flush();

byte[] bmpBytes = curImageStream.ToArray();

//如果转字符串的话

//string BmpStr = Convert.ToBase64String(bmpBytes);

return bmpBytes ;

}

}

用上面的方法将图片转换成二进制,再存进数据库。

C#怎么把图片转换成二进制数据?

我这儿有个实例不知道合不适合你。我用的是图片处理黑白。在以前MYQQ项目中使用了这个方法。

private Bitmap bianse(Bitmap MyBitmap)

{

try

{

int Height =40;

int Width = 40;

Bitmap bitmap = new Bitmap(Width, Height);

Color pixel;

for (int x = 0; x < Width; x++)

for (int y = 0; y < Height; y++)

{

pixel = MyBitmap.GetPixel(x, y);

int r, g, b, Result = 0;

r = pixel.R;

g = pixel.G;

b = pixel.B;

//以加权平均值法产生黑白图像

int iType = 2;

switch (iType)

{

case 0://平均值法

Result = ((r + g + b) / 3);

break;

case 1://最大值法

Result = r > g ? r : g;

Result = Result > b ? Result : b;

break;

case 2://加权平均值法

Result = ((int)(0.7 * r) + (int)(0.2 * g) + (int)(0.1 * b));

break;

}

bitmap.SetPixel(x, y, Color.FromArgb(Result, Result, Result));

}

return bitmap;

}

catch (Exception ex)

{

MessageBox.Show(ex.Message);

return MyBitmap;

}

}

C#图片转换成二进制流并且保存到sql server数据库

text,你就当string处理就行了

思路就是先得到图片文件的对象,然后转成byte[]

然后转成string

text存储二进制文件不如image好,可能小文件速度变的慢

C#如何将picturebox中的显示的图片转换成二进制的数组

没装VS2005,我手写给你思路

MemoryStream ms = new MemoryStream();

// 重要!!保存成文件流

pictureBox1.Image.Save("a.bmp");

FileStream fileStream = new FileStream("a.bmp", FileMode.Open, FileAccess.Read);

BinaryReader binaryReader = new BinaryReader(fileStream);

byte[] img = binaryReader.ReadBytes((int)fileStream.Length);

binaryReader.Close();

fileStream.Close();

File.Delete("a.bmp");

// 好了 这个img 就是你要的

c#将二进制 转换为图片的问题

我可以肯定的说你的函数写的没问题,因为我试过了。

FileStream FS = new FileStream("未命名.JPG", FileMode.Open);

BinaryReader BR = new BinaryReader(FS);

byte[] bytes = BR.ReadBytes((Int32)FS.Length);

Image image1 = BytesToImage(bytes);

image1.Save("未命名1.JPG", System.Drawing.Imaging.ImageFormat.Jpeg);

结果是生成了一张和未命名.JPG一样的图片。所以的函数写的没有问题,问题在于你传入的bytes并不是一张图片的二进制数组。

"photo"字段存放的是图片的二进制信息吗?你可以调试一下,看看reader["photo"]里面到底是什么内容。

  • 本文相关:
  • c# 图片与二进制转换的简单实例
  • c# 进制转换的实现(二进制、十六进制、十进制互转)
  • c#使用gembox.spreadsheet向excel写入数据及图表的实例
  • c#基础语法:可空类型详解
  • c#传递参数到线程的方法汇总
  • c#中的高阶函数介绍
  • c#很简单而又很经典的一句代码实例
  • c#实现propertygrid自定义属性的方法
  • c#对多个集合和数组的操作方法(合并,去重,判断)
  • 关于c#基础知识回顾--反射(三)
  • c#基础之lambda表达式用法实例教程
  • c++与c#的时间转换示例分享
  • C#中 怎么实现 把图片转化为二进制的流存入数据库!谢谢
  • C#怎么把图片转换成二进制数据?
  • C#图片转换成二进制流并且保存到sql server数据库
  • C#如何将picturebox中的显示的图片转换成二进制的数组
  • c#将二进制 转换为图片的问题
  • C#怎么实现把二进制数据流转换成.JPG图片
  • C# 我已经将二进制转化为图片,请问如何设置图片的尺寸。
  • c#则么获得将图片转成post上传的multipart/form-data编码二进制流数据
  • C#这么把截图转换成二进制发送出去
  • 在c#中,为什么要将图片转换为字节流(或者二进制流)才能输出?这里的“输出”指的是到哪儿?谢谢!
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved