如何在Delphi 2009中获取存储图像的权重?

时间:2009-08-14 05:05:41

标签: database image delphi delphi-2009

我有数据存储在我的数据库中,在获取这些图像时,我想知道每张图像的重量(20KB,90KB等)。我如何获得此信息?提前谢谢。

2 个答案:

答案 0 :(得分:1)

如果是BLOB字段,则可以使用以下

    SELECT OCTET_LENGTH(column) FROM table t;

但如果我们知道你的dbms

,那将是非常好的

编辑:您也可以尝试以下方法(我不会提供代码,因为我现在没有delphi)

但想法是:

将图像加载到TMemoryStream中,然后使用TMemoryStream.Size

获取大小

答案 1 :(得分:0)

Delphi使用TGraphicField将图像存储在数据库中,TGraphicField通常会在存储图像之前将图像转换为BMP blob流。

因此,将图像保存到BMP文件应该可以很好地指示数据库中的大小。

但请注意,某些数据库系统可以压缩底层blob,而某些TGraphic插件可以提供其他图像格式。

就像RRUZ已经评论过:了解数据库系统和图像的类型有很大帮助。

- 的Jeroen