Есть несколько способов приблизиться к этому.
Существует тип столбца изображения для DataGridView, DataGridViewImageColumn, который имеет свойство изображения, которому вы можете передать растровое изображение.
Должно работать что-то вроде следующего:
private void createGraphicsColumn(Bitmap image)
{
DataGridViewImageColumn imageColumn = new DataGridViewImageColumn();
imageColumn.Image = image;
imageColumn.Name = "Tree";
imageColumn.HeaderText = "Nice tree";
dataGridView1.Columns.Insert(2, imageColumn);
}
При необходимости вы также можете установить свойство Value отдельных ячеек в этом столбце.
Пример выше, а также множество других обсуждений могут бытьнаходится в MSDN .
Другой вариант - добавить ваше изображение в таблицу данных - это автоматически сгенерирует ваш столбец изображения, но новый столбец в таблице данных должен иметь типмассив байтов.
Я нашел следующий код, чтобы сделать это с быстрым Google:
public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
MemoryStream ms = new MemoryStream();
imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);
return ms.ToArray();
}
Если вы выберете этот подход, я бы предложил провести небольшое исследование, чтобы найти лучший методсоздания байтового массива - я не могу поручиться за то, чтобы этот код был лучшим.