使用c#加载ByteArray类型的图像文件到图片框
本文关键字:文件 图像 加载 ByteArray 类型 使用 | 更新日期: 2023-09-27 18:15:58
我有一个byte[]
类型的图片文件,保存在sql图像字段中,图像将显示在DGV(DataGridView),现在我尝试从currentRow(DataGridViewRow)对象的形式上显示图片框中的图像,我得到了错误"无法转换类型的对象System.String
类型的System.Byte[]
",我该怎么做?有人能帮忙吗?由于
private void DGV_SelectionChanged(object sender, EventArgs e)
{
private DataGridViewRow currentRow = new DataGridViewRow();
//Get current row object
currentRow = DGV.Rows[DGV.CurrentRow.Index];
//Display Fields Detail on the form
DisplayFields(currentRow);
}
private void DisplayFields(DataGridViewRow row)
{
this.tbxItemGUID.Text = row.Cells[0].Value.ToString();
//row.Celles[1] contained byte[] image file which saved in sql image field
//how can I display image in picture box
this.pictureBox.image = (byte[])row.Cells[1].Value;
}
谢谢大家,我已经解决了这个问题,我是这样做的,如果有更好的方法请告诉我。
private void DGV_SelectionChanged(对象发送方,EventArgs e)
{
private DataGridViewRow currentRow = new DataGridViewRow();
//Get current row object
currentRow = DGV.Rows[DGV.CurrentRow.Index];
//Display Fields Detail on the form
DisplayFields(currentRow);
}
private void DisplayFields(DataGridViewRow row)
{
this.tbxItemGUID.Text = row.Cells[0].Value.ToString();
byte[] picture = new byte[0];
picture = (byte[])row.Cells[1].Value;
this.PictureBox.Image = Image.FromStream(new MemoryStream(picture));
}