如何使用 delphi 2010 显示数据库中的图片
how to display pictures from a database using delphi 2010
我想在当前 运行 程序中显示存储在 MS Access 数据库中的图片,其中 运行 程序的人将能够同时看到所有图片(也许上下滚动)并选择他们的选择之一。
我不知道密码
求助,我还是个高中生
除非所有图片都是 BMP,否则 Delphi 在这里对您帮助不大。虽然它有一个 TDBImage
组件,但它只支持您的 Delphi 版本中的 BMP,而且它一次只能显示一张图片。
要执行您要求的操作,您必须手动加载图片。进行查询,例如使用 TADOQuery
,然后遍历结果,使用 TDataSet.CreateBlobStream()
和 TGraphic.LoadFromStream()
加载每张图片。您必须查看图片的原始数据 header 才能决定使用哪个 TGraphic
class(TBitmap
、TJPEGImage
、TGifImage
等),从数据库blob中加载,然后根据需要显示,比如在一个TImage
,一个owner-drawn TListView
,等等。对每张图片重复
如果你四处看看,有大量关于此的示例和教程。这是 Whosebug 的 off-topic。
我想在当前 运行 程序中显示存储在 MS Access 数据库中的图片,其中 运行 程序的人将能够同时看到所有图片(也许上下滚动)并选择他们的选择之一。
我不知道密码
求助,我还是个高中生
除非所有图片都是 BMP,否则 Delphi 在这里对您帮助不大。虽然它有一个 TDBImage
组件,但它只支持您的 Delphi 版本中的 BMP,而且它一次只能显示一张图片。
要执行您要求的操作,您必须手动加载图片。进行查询,例如使用 TADOQuery
,然后遍历结果,使用 TDataSet.CreateBlobStream()
和 TGraphic.LoadFromStream()
加载每张图片。您必须查看图片的原始数据 header 才能决定使用哪个 TGraphic
class(TBitmap
、TJPEGImage
、TGifImage
等),从数据库blob中加载,然后根据需要显示,比如在一个TImage
,一个owner-drawn TListView
,等等。对每张图片重复
如果你四处看看,有大量关于此的示例和教程。这是 Whosebug 的 off-topic。