数据表中的图像

时间:2009-05-25 05:16:45

标签: c# image datatable

我使用OpenFileDialog读取图像。示例代码如下:

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

我想将此图像存储在datatable中。我怎么能这样做?

3 个答案:

答案 0 :(得分:4)

你可以这样做 -

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);

编辑:您可以查看this CodeProject文章,获取有关将图像转换为字节数组的帮助。

答案 1 :(得分:2)

我实际上也在努力实现这一目标。我的解决方案实际上并不涉及。

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;

对我而言,这就像一个魅力。

答案 2 :(得分:1)

我认为您可以使用此链接http://www.eggheadcafe.com/PrintSearchContent.asp?LINKID=799这解释了您想要的一切。