图像组件允许开箱即用的自由比例裁剪。我有点困惑为什么没有纵横比选项(保持高度和宽度相互限制),这对我们来说效果更好。这是可以启用的现有功能,还是 Java 中的自定义任务?
我使用的是 CQ 5.4。
最佳答案
这是从 5.4(至少)开始的 OOTB,尽管没有详细记录。.像这样设置您的智能图像小部件:
<image-16x10
jcr:primaryType="cq:Widget"
allowFileReference="{Boolean}true"
cropParameter="./image-16x10/imageCrop"
fileReferenceParameter="fileReference"
name="./image-16x10/file"
requestSuffix=".img.png"
rotateParameter=""
title="16x10"
xtype="html5smartimage">
<cropConfig
jcr:primaryType="nt:unstructured">
<aspectRatios
jcr:primaryType="nt:unstructured">
<aspectRatio-16x10
jcr:primaryType="nt:unstructured"
text="16x10"
value="16,10"/>
</aspectRatios>
</cropConfig>
</image-16x10>
cropConfig
节点结构是您感兴趣的内容。text="16x:10"是将出现在“裁剪”下拉列表中的内容,value="16,10"是实际的固定裁剪大小工具。您可以为每个 html5smartimage
小部件添加任意数量的预定义裁剪。
image-16x10
和 aspectRatio-16x10
名称不是必需的,但不是有助于配置可维护性的有用约定。如果您允许多个方面比率,则image-16x10
命名可能没有多大意义,尽管为您的aspectRatio 定义节点提供语义命名并不是一个坏主意。
关于image - CQ5 中是否有纵横比裁剪,而不仅仅是自由裁剪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15120888/