2

使用此代码:

<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="">

图片标签截图

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

使用 Typo3 6.1.5 ImageMagick 6

编辑#2: 尝试了宽度、高度、裁剪、最大宽度、最大高度的不同组合,例如:

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

结果/失败是:

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

3 回答 3

2

我已经找到了这个错误的正确解决方案。它现在已经超过 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调整画布和视口之后。

除了我现在正在使用的安装(带有 IM 6.3.7 的 4.2.6)之外,没有使用任何其他安装对此进行测试,因此在将此修复提交到核心之前可能应该有人这样做。

于 2013-10-24T13:42:41.173 回答
0

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

@ggzone:正如我已经评论过的,请尝试对 TypoScript 对象做同样的事情,意思是:创建一个具有相同参数的 IMAGE cObject 并将其输出到页面上。如果还是不行,那就是 TYPO3 或 ImageMagick 的问题,如果可以,那就是 Fluid 的问题。我们需要缩小您的问题范围。

于 2013-10-03T14:44:03.893 回答
0

您应该使用maxWidthandmaxHeight指定一个适合图像的框

IE

<f:image src="/uploads/extkey/{image}" alt="" maxWidth="115c" maxHeight="70c" />
于 2015-09-03T10:19:38.593 回答