【问题标题】:How to get the weight for a stored image in Delphi 2009?如何在 Delphi 2009 中获取存储图像的权重?
【发布时间】:2009-08-14 05:05:40
【问题描述】:

我的数据库中存储了图像,在获取这些图像时,我想知道每张图像的权重(20KB、90KB 等)是多少。我如何获得这些信息?提前致谢。

【问题讨论】:

  • 1.正在使用哪个数据库? 2.字段的类型是什么?
  • 对不起,我的数据库是 MySQL,字段是 BLOB 类型。所以,奥尔多的回答很好。谢谢大家

标签: database image delphi delphi-2009


【解决方案1】:

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

    SELECT OCTET_LENGTH(column) FROM table t;

但如果我们知道您的 dbms 那就太好了

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

但想法是:

将图像加载到 TMemoryStream 中,然后使用 TMemoryStream.Size 获取大小

【讨论】:

    【解决方案2】:

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

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

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

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

    --杰罗恩

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-15
      • 2010-10-06
      • 1970-01-01
      • 1970-01-01
      • 2021-07-16
      • 1970-01-01
      • 1970-01-01
      • 2019-01-28
      相关资源
      最近更新 更多