【问题标题】:TYPO3 Fluid: f:image trim image then scaleTYPO3 Fluid: f:image trim image then scale
【发布时间】:2013-07-24 09:05:51
【问题描述】:

我有一个 1200x1200 像素的方形图像。现在我想将所有边切断/修剪 80 像素,然后将其缩小到 275 像素。这怎么可能?

<f:image src="path/to/image.jpg" width="275c" />

这只是缩小图像,所以我看了一下imgResource Core Documentation,它告诉我,您可以通过减去 x% 来裁剪图像。

<f:image src="path/to/image.jpg" width="1120c-93" height="1120c-93" />

93% 的 1200 像素大约是 1120 像素。

接下来的尝试是先裁剪,然后缩放,但似乎我根本无法裁剪方形图像。

<f:image src="{f:uri.image(src: 'path/to/image.jpg', width: '1200c-93')}" width="275" />

有人对如何解决问题有任何建议吗?

编辑

所以我尝试了以下固定宽度和高度:

<f:image src="{f:uri.image(src: '{item.imagePath}image_001.jpg', width: '1120c-50', height: '1120c-50')}" width="275" height="275" alt="{item.name}" />
<f:image src="{item.imagePath}image_001.jpg" alt="{item.name}" width="275" alt="{item.name}" />

但这给了我两个相同的图像:http://img545.imageshack.us/img545/204/nsuo.png

【问题讨论】:

    标签: typo3 fluid


    【解决方案1】:

    您必须在内部调用中明确指定height,并且裁剪值必须小于原始图像大小。所以试试这个:

    <f:image src="{f:uri.image(src: 'path/to/image.jpg', width: '1120c-93', height: '1120c-93')}" width="275" alt="" />
    

    【讨论】:

    • 您可以尝试在维度属性中省略-50 吗?我已经在我的 4.7 安装中使用示例图像进行了尝试,它按预期工作(我在尝试中省略了 -93)。你用的是哪个 TYPO3 版本?
    • 真可惜,这似乎是一个如此简单的任务......我使用 T3 6.1.1,我也尝试使用 4.7.11,但是我总是得到一个缩小的图像。带或不带c,在cmaxWidthmaxHeightwidthheight 之后的负数或正数。我想我尝试了所有可能的组合。 :(
    • 我也尝试过使用 Typoscript 解决方案并将其嵌入为 &lt;f:cObject /&gt;,但它也没有奏效。
    • 显然当尺寸比改变时它工作正常。如果我使用 100/200 作为宽度/高度,它会被裁剪,如果比例保持不变,它只会按比例缩小。这也在文档 (typo3.org/documentation/document-library/core-documentation/…) 中进行了描述。 => 图像首先按比例缩小,保留比例,然后在必要时进行裁剪。
    • 现在说得通了。感谢您的帮助!
    猜你喜欢
    • 2021-07-22
    • 2013-11-12
    • 1970-01-01
    • 1970-01-01
    • 2019-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-04
    相关资源
    最近更新 更多