c# 从数据库读取image到picturebox中 5
如题,我想从数据库中把image读出来并赋给picturebox,数据库中存的是图片,该怎么写,假设我的sql语句为selectphotofromtb_informati...
如题 ,我想从数据库中把image读出来并赋给picturebox,数据库中存的是图片,该怎么写,假设我的sql语句为select photo from tb_information where ID='0008'
展开
4个回答
展开全部
获取到图片的二进制流后再转成图片格式
追问
能说详细点吗 你说的我知道 但是我怎么都实现不了
追答
MemoryStream stream = new MemoryStream(byteImage); // byteImage就是接收到的二进制数组
Image bitmapnew = ((Image)new Bitmap(stream));
bitmapnew.Save(Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase.ToString()) + "\\图片.jpg", ImageFormat.Jpeg);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C\S端还是B\S端,处理手段大不相同。
追问
winform
追答
//获取数据库里的图片代码(省略)
object ob = dataTable.Rows[0]["图片"];
byte[] buff = ob as byte[];
if (ob == null)
{
//报错
return;
}
MemoryStream ms = new MemoryStream(buff, 0, buff.Length, true);
Bitmap bt = Bitmap.FromStream(ms) as Bitmap;
if (bt == null)
{
//数据格式错误,请检查是否是图片
return;
}
ms.Flush();
ms.Close();
//把bt显示出来,比如
pictureBox.Image = bt;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
photo
什么格式?
什么格式?
追问
跟格式有关系吗? 是以二进制流存入的
追答
public Image ByteArrayToImage(byte[] byteArrayIn, int count)
{
MemoryStream ms = new MemoryStream(byteArrayIn, 0, count);
Image returnImage = Image.FromStream(ms);
return returnImage;
}
// 补充:
Byte[] byRead = new Byte[1024000];
int iRead = stRead.ReceiveFrom(byRead, ref tempRemoteEP);
Image image = ByteArrayToImage(byRead, iRead);// 调用上面的方法
pictureBox1.Image = image;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询