Typo3流体图像裁剪与高度失败

时间:2013-10-03 13:55:41

标签: html typo3 crop fluid

使用此代码:

<f:image src="/uploads/extkey/{image}" alt="" width="115c" height="70c" />

生成以下HTML输出:

<img src="typo3temp/_processed_/csm_testimage_31f6051846.gif" width="115" height="92" alt="">

screenshot of image tag

现在图像的高度错误,顶部和底部都有白条。我发现“92”来自它的比例(原始图像是:1280×1024)。我想如果顶部和底部的白条被切掉,将达到70的高度。任何想法为什么Typo3做错了,并且其他一些人有同样的问题吗?

使用Typo3 6.1.5 ImageMagick 6

编辑#2: 尝试使用宽度,高度,裁剪,maxWidth,maxHeight的不同组合,如:

<f:image src="/uploads/extkey/{image}" alt="" width="115" height="70c" maxHeight="70" />

结果/失败是:

  • 图片不是115x70
  • 图像变形

4 个答案:

答案 0 :(得分:1)

我找到了这个Bug的正确解决方案。它现在已经超过4年了,仍未修复。该文件和行已更改为:/typo3/sysext/core/Classes/Imaging/GraphicalFunctions.php,行:2315

<强> http://forge.typo3.org/issues/19045

t3lib / class.t3lib_stdgraphic.php 第2181行(版本4.2.6)

适应线路 $ params。='-crop'。$ data ['origW']。'x'。$ data ['origH']。'+'。$ offsetX。'+'。$ offsetY。'! “;

我刚添加了“!”最后它现在有效 - “!”在crop命令告诉imagemagick调整画布和视口之后。

没有用我现在正在处理的任何其他安装来测试这个(4.2.6与IM 6.3.7),所以有人应该在将此修复提交到核心之前执行此操作。

答案 1 :(得分:0)

尺寸之后的c表示“裁剪缩放”。您无法同时对宽度和高度进行裁剪。所以你应该设置一个固定的宽度(宽度=“115”),然后裁剪高度(高度=“70c”)。这样,图像将被调整为宽度为115像素,并且每个高于70像素的像素都将被裁剪。

@ggzone:正如我已经评论过的那样,请尝试使用TypoScript对象做同样的事情,这意味着:创建一个具有相同参数的IMAGE cObject并将其输出到页面上。如果它也不起作用,那就是TYPO3或ImageMagick的问题,如果它有效,那就是流体问题。我们需要缩小你的问题。

答案 2 :(得分:0)

您应该使用maxWidthmaxHeight来指定图片应该适合的框

<f:image src="/uploads/extkey/{image}" alt="" maxWidth="115c" maxHeight="70c" />

答案 3 :(得分:-1)

IM的参数是maxWmaxH不是maxHeight,看起来它们在拼写错误3中是相同的。
可能会有效:

<f:image src="/uploads/extkey/{image}" alt="" maxH="70c"  maxW="115c" />

修改

原始图片的尺寸是多少?

'c'用于裁剪,如果您的原件较小或其他比例......

尝试使用'm'参数获取最大值?

<f:image src="/uploads/extkey/{image}" alt="" width="115m" height="70"   />

参考: TYPO3 TS reference