Image CQ5中是否存在纵横比裁剪,而不仅仅是自由裁剪?

Image CQ5中是否存在纵横比裁剪,而不仅仅是自由裁剪?,image,aspect-ratio,aem,Image,Aspect Ratio,Aem,图像组件允许自由比例裁剪。我有点困惑,为什么没有纵横比选项(保持高度和宽度相互限制),这对我们会更好。这是可以启用的现有功能,还是Java中的自定义任务 我使用的是CQ5.4 这将是一个定制的JavaScript小部件:您正在使用的()小部件没有纵横比功能(或者只是我从未见过),即使在5.6中也是如此 您可以扩展现有的小部件,并使用Javascript提供自己的功能——这不是一件小事,但也不是火箭科学——请参阅smart image的源代码,了解它如何扩展smart panel,然后将自己注册到

图像组件允许自由比例裁剪。我有点困惑,为什么没有纵横比选项(保持高度和宽度相互限制),这对我们会更好。这是可以启用的现有功能,还是Java中的自定义任务

我使用的是CQ5.4


这将是一个定制的JavaScript小部件:您正在使用的()小部件没有纵横比功能(或者只是我从未见过),即使在5.6中也是如此

您可以扩展现有的小部件,并使用Javascript提供自己的功能——这不是一件小事,但也不是火箭科学——请参阅smart image的源代码,了解它如何扩展smart panel,然后将自己注册到框架中。

这是自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”是工具的实际固定裁剪尺寸。您可以为每个
html5martimage
小部件添加任意数量的预定义作物


不需要
image-16x10
aspectRatio-16x10
名称,但这不是一个有用的惯例,有助于配置的可维护性。如果允许使用多个aspectRatio,则
image-16x10
命名可能没有多大意义,因为为aspectRatio定义节点提供语义命名不是一个坏主意。

如果要生成具有不同aspectRatio的图像,试试这个


裁剪参数保存在不同的属性中,而不是html5smartimage小部件的“裁剪参数”

扩展小部件需要extJS编码或常规的旧Javascript吗?这是extJS为您提供的,但实际上您只需要扩展类和注册新的XtType就可以了。您没有问这个问题,但是。。。将作物管理回大坝或存储图像的任何地方都是一个好主意。作者X为一个页面准备的裁剪可能与作者Y希望在另一个页面上使用的裁剪相同。你确实提出了一个很好的观点。但我会把它放在一边,直到我能首先解决这个问题。所以我正在创建一个自定义小部件,它使用与上面相同的超级资源,但允许我添加我自己的裁剪限制?对于您希望使用固定裁剪尺寸将图像添加到的组件,将cropConfig/*节点配置添加到该组件的HTML5智能映像cq:Widget节点。上面只是一个小部件定义,因此它没有resourceSuperType/resourceType。如果要覆盖图像组件以获得固定的裁剪率,则组件可能具有resourceSuperType of foundation/component/image(在这种情况下,您不希望保存到./image-16x10/*中)