如何在木兰CMS中获取图像尺寸



我有一个绝对位置的图像,我需要设置一个高度,但是现在我找不到Magnolia API中的方法资产/项目。

是否有一种方法可以仅使用本机API?

如果没有,您将如何做?

我会以某种方式写它

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
}

有关更多信息,请参见Magnoliaassetmetadata Javadoc和/或来源(和相关类)。

我做了这样的事情,基于您的建议。我正在使用 damTemplatingFunctions 使用JCR ID获取资产。

Node node = nodes.nextNode();
String imageJcrId = node.getProperty("image").getValue().getString();
Asset asset = damTemplatingFunctions.getAsset(imageJcrId);
MagnoliaAssetMetadata metadata1 = asset.getMetadata(MagnoliaAssetMetadata.class);
System.out.println(metadata1.getHeight());
System.out.println(metadata1.getWidth());

最新更新