如何在 Magnolia CMS 中获取图像尺寸

Man*_*ore 1 java content-management-system magnolia dam

我有一个绝对定位的图像,我需要在其父容器上设置高度,但现在我在 magnolia API 中找不到允许我获取资产/项目宽度或高度的方法。

有没有办法仅使用本机 API 在 Magnolia CMS 中获取资产/项目的图像尺寸(高度、宽度)?

如果不是,你会怎么做?

小智 6

我会以某种方式写它

import info.magnolia.dam.api.metadata.MagnoliaAssetMetadata;
// ...
if (asset.supports(MagnoliaAssetMetadata.class)) {
  MagnoliaAssetMetadata metadata = asset.getMetadata(MagnoliaAssetMetadata.class);
  long width = metadata.getWidth();
  long height = metadata.getHeight();
  // do whatever you need with the image dimensions
} else {
  // handle non-image asset
}
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅MagnoliaAssetMetadata javadoc 和/或源(和相关类)。