Изображение в виде данных - PullRequest
2 голосов
/ 25 мая 2009

Я читаю изображение с помощью OpenFileDialog. Пример кода ниже:

openFileDialog1.ShowDialog();
if (openFileDialog1.FileName != null)
   if (picBoardImage.Image != null)
{
    picBoardImage.Image.Dispose();
}
picBoardImage.Image = Image.FromFile(openFileDialog1.FileName);

Я хочу сохранить это изображение в datatable. Как я могу это сделать?

Ответы [ 3 ]

4 голосов
/ 25 мая 2009

Вы можете сделать это так -

DataTable table = new DataTable("ImageTable"); //Create a new DataTable instance.

DataColumn column = new DataColumn("MyImage"); //Create the column.
column.DataType = System.Type.GetType("System.Byte[]"); //Type byte[] to store image bytes.
column.AllowDBNull = true;
column.Caption = "My Image";

table.Columns.Add(column); //Add the column to the table.

Затем добавьте новую строку в эту таблицу и установите значение столбца MyImage.

DataRow row = table.NewRow();
row["MyImage"] = <Image byte array>;
tables.Rows.Add(row);

РЕДАКТИРОВАТЬ: Вы можете взглянуть на эту статью CodeProject для справки по преобразованию изображения в байтовый массив.

2 голосов
/ 12 декабря 2012

На самом деле я тоже пытался это сделать. Мое решение на самом деле не так уж и сложно.

Drawing.Bitmap img = new Drawing.Bitmap("Path to image"); //Replace string with your OpenFileDialog path.

DataColumn column = new DataColumn("ImageColumn");
column.DataType = System.Type.GetType("System.Drawing.Bitmap");

//Code to add data to a cell:
DataRow row = new DataRow();
row("ImageColumn") = img;

Для меня это сработало как шарм.

1 голос
/ 25 мая 2009

Я думаю, что вы можете использовать эту ссылку http://www.eggheadcafe.com/PrintSearchContent.asp?LINKID=799 это объясняет все, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...