C#中查询数据库的图片system.byte[]怎么转为img
2013-06-13 22:48
941 查看
如直接在数据库查询时:0xFFD8FFE000104A46494600010101004800480000FFDB...后面还很长。我只贴一部分
而在C#中,查询得到的是System.Byte[]
而我要做的就是将System.Byte[]转换成img显示在pictureBox1上面
以修改为例:
int id = Convert.ToInt32(dataGridView1.SelectedCells[0].Value);
string sql = "select *from goods where id=@id";
SqlParameter sp = new SqlParameter("@id", id);
//查询ID对应的表信息,SQLHelper为我封装好了的对数据库操作的类,这里直接拿来用的
DataTable dt = SQLHelper.GetTable(sql, sp);
//只需要下面那句关键代码,就直接转换过来了
byte[] by = (byte[])dt.Rows[0]["pic"];
MemoryStream ms = new MemoryStream(by);
Image img= Image.FromStream(ms);
pictureBox1.Image = img;
另外把img保存在数据库里面粘贴下
Image img = pictureBox1.Image;
if (img.Width < 100 || img.Height < 100)
{
MessageBox.Show("请选择一个100*100以上的图片");
return;
}
//以原图来生成一个小图
Bitmap bmp = new Bitmap(100, 100);
Graphics g = Graphics.FromImage(bmp);
g.Clear(Color.White);
Rectangle recDes = new Rectangle(0, 0, 100, 100);
Rectangle sRec = new Rectangle(0, 0, img.Width, img.Height);
g.DrawImage(img, recDes, sRec, GraphicsUnit.Pixel);
//把两个图片做数据库的参数
//数据库的文件类型的参数是byte数组
//要将上面两图片变为byte数组
byte[] pic;
MemoryStream ms = new MemoryStream();
bmp.Save(ms, ImageFormat.Jpeg);
pic = ms.GetBuffer();//这个流中的所有字节
//新增操作
//.....
sp[X]=new SqlParameter("@XXXX",pic);
而在C#中,查询得到的是System.Byte[]
而我要做的就是将System.Byte[]转换成img显示在pictureBox1上面
以修改为例:
int id = Convert.ToInt32(dataGridView1.SelectedCells[0].Value);
string sql = "select *from goods where id=@id";
SqlParameter sp = new SqlParameter("@id", id);
//查询ID对应的表信息,SQLHelper为我封装好了的对数据库操作的类,这里直接拿来用的
DataTable dt = SQLHelper.GetTable(sql, sp);
//只需要下面那句关键代码,就直接转换过来了
byte[] by = (byte[])dt.Rows[0]["pic"];
MemoryStream ms = new MemoryStream(by);
Image img= Image.FromStream(ms);
pictureBox1.Image = img;
另外把img保存在数据库里面粘贴下
Image img = pictureBox1.Image;
if (img.Width < 100 || img.Height < 100)
{
MessageBox.Show("请选择一个100*100以上的图片");
return;
}
//以原图来生成一个小图
Bitmap bmp = new Bitmap(100, 100);
Graphics g = Graphics.FromImage(bmp);
g.Clear(Color.White);
Rectangle recDes = new Rectangle(0, 0, 100, 100);
Rectangle sRec = new Rectangle(0, 0, img.Width, img.Height);
g.DrawImage(img, recDes, sRec, GraphicsUnit.Pixel);
//把两个图片做数据库的参数
//数据库的文件类型的参数是byte数组
//要将上面两图片变为byte数组
byte[] pic;
MemoryStream ms = new MemoryStream();
bmp.Save(ms, ImageFormat.Jpeg);
pic = ms.GetBuffer();//这个流中的所有字节
//新增操作
//.....
sp[X]=new SqlParameter("@XXXX",pic);
相关文章推荐
- C#将照片或图片转化为byte[]存入数据库,从数据库中读照片
- C#中将图片转化为byte[]在数据库中存取
- C#上传byte类型图片到数据库
- C#将照片或图片转化为byte[]存入数据库,从数据库中读照片
- C#中数据库中image类型可转为byte[]类型
- 关于怎么C#控制台窗口中怎么创建连接查询数据库操作
- c# 图片路径转byte[] 插到数据库BLOB 图片长宽自定义
- 使用date_format后在C#中查询出来结果为System.Byte[],需加Convert()转换
- 图片保存到数据库和从数据库读取图片并显示(c#)
- Java实现头像截取裁剪后图片保存,获取的是base64数据,怎么转换为图片并保存到数据库。
- [转帖]如何将一张图片写入数据库SQL,并能正确在C#网页中显示
- C#实现对数据库中的表的查询、添加、修改、删除数据
- C#将图片字节流转为Base64直接放入html的img标签src属性中
- c# 把图片通过二进制读到postgresql数据库中
- c#通常什么地方遇到数据库为空 System.DBNull.Value 作者:admin
- Unity3d C# 脚本学习小结(四)【怎么设置材质的Png图片部分透明】
- 【转载】C# 中如何实现LINQ查询数据库表信息
- pdf怎么转换成jpg,使用工具将pdf转为图片
- Java 实现数据库插入图片与查询显示图片
- [原] XAF 如何将数据库中Byte array图片显示出来