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

使用c#加载ByteArray类型的图像文件到图片框

谢谢大家,我已经解决了这个问题,我是这样做的,如果有更好的方法请告诉我。

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