C# 尝试将字节数组转换为映像时,参数无效

C# 尝试将字节数组转换为映像时,参数无效,c#,arrays,winforms,C#,Arrays,Winforms,我有一个程序,它从xlsx文件中获取数据,并将它们放入dataGridView。然后,我尝试将该数据(从dataGridView)转换为字节数组,以便稍后将其从位图放置到PictureBox。 所以我有datagridView(对象)->字节数组->位图->图片 问题出现了,在这个步骤中,我将把字节数组转换成图像 我已经尝试了很多方法来修复它,就像我在互联网上找到的一样(特别是对MemoryStream和ImageConverter的修改),但是没有人能帮上忙。调试人员表示数据正常(下图)。有没

我有一个程序,它从xlsx文件中获取数据,并将它们放入dataGridView。然后,我尝试将该数据(从dataGridView)转换为字节数组,以便稍后将其从位图放置到PictureBox。 所以我有datagridView(对象)->字节数组->位图->图片

问题出现了,在这个步骤中,我将把字节数组转换成图像

我已经尝试了很多方法来修复它,就像我在互联网上找到的一样(特别是对MemoryStream和ImageConverter的修改),但是没有人能帮上忙。调试人员表示数据正常(下图)。有没有其他方法可以将其转换为图像

这是我的dataGridView

来自我的阵列的数据

private void按钮showImage\u单击(对象发送者,事件参数e)
{
int size=(dataGridView1.RowCount)*(dataGridView1.ColumnCount-1);
字节[]arrOfValues=新字节[大小];
PictureBox picBox=新PictureBox();
int k=0;
对于(int i=0;i
您的链接似乎无效。@SaeedBolhasani,这是什么意思?我看不到链接。您确定您的字节数组表示有效的位图格式,它是否具有表示图像的正确标题?@SaeedBolhasani您的计算机有问题,我在我的机器上看到了它。
    private void buttonShowImage_Click(object sender, EventArgs e)
    {

        int size = (dataGridView1.RowCount) * (dataGridView1.ColumnCount-1);
        byte[] arrOfValues = new byte[size];
        PictureBox picBox = new PictureBox();


        int k = 0;
        for(int i = 0; i < dataGridView1.Rows.Count; i++)
        {
            for (int j = 0; j < dataGridView1.Columns.Count - 1; j++)
            {
                arrOfValues[k++] = Convert.ToByte(dataGridView1[i, j].Value);
            }

        }

        ImageConverter ic = new ImageConverter();

        Image img = (Image)ic.ConvertFrom(arrOfValues);  // here is the problem 'data is not valid' 

        Bitmap bmp = new Bitmap(img);

        picBox.SizeMode = PictureBoxSizeMode.Zoom;

        picBox.Image = bmp;


        picBox.Show();

    }