2016-11-15 59 views
2

是否有可能获得f:imagev:media.image或类似的可用viewhelper执行一些经典的TYPO3 imagemagick特技,如将图像转换为灰度?流体图像viewhelper中的Imagemagick/Graphicsmagick命令?

10 = IMAGE 
10.file.params = -type Grayscale 

或者我会用自己的VH延伸f:image

如果我不得不这样做:我想这是将这些参数传递给IM/GM的正确方法,对吧?我在哪里必须看看如何正确完成?

回答

1

看到这个封闭的问题https://forge.typo3.org/issues/41347, 这个功能已经存在补丁但是被遗弃了(见Christian Kuhn评论为什么 - >https://review.typo3.org/#/c/21162/),所以现在你需要一个自己的VH。

编辑:

如果你想有图像,你可以使用CSS属性的今天,只需使用简单的CSS过滤器,具有相当不错的浏览器特效支持当今http://caniuse.com/#feat=css-filters

例子:

+0

并非在所有情况下,CSS过滤器是不够的:想想你的客户端的“灰度“图片突然以其原始颜色在谷歌图片上出现 – Urs

+0

拒绝补丁的观点似乎很大程度上基于”imagemagick糟糕“作为出发点。这可能是事实,但这些参数也应该从TS中删除。但我不想咆哮,没关系,可能是最好的。因此,不是使用f:image,我可以在TS中将图像生成为cObj,然后使用f:cObj将其插入流体模板中,对不对?这是完全可行的!感谢您的回答 – Urs

+1

f:cObj可能会诀窍:) – rafx

1

我用Typo脚本配置的图像,并呼吁他们在流体:

<f:cObject typoscriptObjectPath="lib.fluidResponsiveImages" data="{image.uid}"></f:cObject> 

Typo脚本的例子:

# 
# TypoScript Setup: lib.fluidResponsiveImages 
# Load after tt_content.t3s 
# 
lib.fluidResponsiveImages = IMAGE 
lib.fluidResponsiveImages { 
    file { 
     import.current = 1 
     treatIdAsReference = 1 
     width = 932 
    } 
    sourceCollection < tt_content.image.20.1.sourceCollection 
    layoutKey < tt_content.image.20.1.layoutKey 
    layout < tt_content.image.20.1.layout 
    params < tt_content.image.20.1.params 
} 
+0

您可以发布一个TS的例子,它如何接收图像uid? – Urs

+0

我用TypoScript示例扩展我的答案。 –

+0

啊,很好,所以当前从f:cObject获取值,谢谢 – Urs