这与我之前发布的一个问题松散相关,尽管使用了不同的图像编辑库(CamanJS而不是 Pixastic)并且代码有所重构。
我正在尝试编写一个函数changify
,将 HTML5 图像画布恢复为其原始状态,然后对其进行一些预设更改。此代码imageClipName
从名为 的列表中加载正确的画布元素,其camanCache
工作原理:
changify = (imageClipName) ->
camanCache[imageClipName].revert ->
camanCache[imageClipName]
.brightness(10)
.contrast(10)
.noise(10)
.render()
console.log(camanCache[imageClipName])
但我想要的是从另一个名为的列表中找到保存的预设更改,imageValues
并从该列表的键值对中动态创建图像函数更改字符串。这是我尝试做的,但失败了:
imageClipName = "image_1"
imageValues = {image_1:{brightness: 10, contrast: 10, noise: 10}, image_2:{...}...}
changify = (imageClipName) ->
camanCache[imageClipName].revert ->
camanCache[imageClipName]
for o in imageValues when o.id == imageClipName
for key, val of o
.#{key}(val)
.render()
changify
这给了我函数( )第三行的咖啡脚本语法错误Unexpected 'INDENT'
,但我怀疑这.#{key}(val)
不适用于将多个函数附加到camanCache[imageClipName]
. 如何在coffeescript中动态字符串函数调用?