我有一个程序,它从xlsx文件中获取数据并将它们放到dataGridView中。然后我试图将此数据(从dataGridView)转换为字节数组,以便稍后将其从Bitmap放置到PictureBox。 所以我有datagridView(对象) - >字节数组 - >位图 - >图片。
问题出现了,在这一步,我将字节数组转换为Image。
我已经尝试了很多方法来修复它,正如我在Internet上找到的那样(特别是对MemoryStream和ImageConverter的修改),但没有人没有帮助。 Debuger说数据还可以(如下图所示)。可能有另一种方法将其转换为图像?
这是我的dataGridView
来自我阵列的数据
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();
}