如何使用给定路径预览图像

时间:2017-11-17 22:51:29

标签: c# html asp.net

我的数据库中有一个图像路径,我想在gridview中显示其他表字段的图像(我有ID,Name,ImagePath,Date)。 我曾尝试使用sqlDataReader,但它只显示了Image路径。我想让它显示图像本身。 有人可以帮我看看如何查看所有图片吗?

1 个答案:

答案 0 :(得分:0)

如果它是您所指的DataGridView,您可能已经注意到Column ValueType可以设置为DataGridViewImageColumn。 设置后,列单元格将显示位图
现在,由于您(我认为)DataSource正在为您提供图像文件的路径,您可以将该字符串值分配给隐藏列的单元格。

当DataSource(或其他任何东西)更改了该隐藏单元格的值时,您可以使用它来加载它指向的图像。

这里我假设设置为DataGridViewImageColumn的Column是Column [1],隐藏列是Column [0]:

private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
   if ((e.ColumnIndex == 0) & (e.RowIndex >= 0))
   {
      string sFileName = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
      using (Bitmap _bitmap = new Bitmap(sFileName, true))
      {
         this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex + 1].Value = new Bitmap(_bitmap);
      }
   }

}

最好不要直接使用图像文件来加载位图,因为GDI ++会将该图像文件锁定在磁盘上。 所以我使用Image的Bitmap副本并将其传递给Cell Value。