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