これは、私が投稿した以前の質問と大まかに関連していますが、別の画像編集ライブラリ ( Pixasticではなく CamanJS) とコードが多少リファクタリングされています。
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
関数 ( ) の 3 行目で coffeescript 構文エラーが発生しますが、複数の関数を に追加する場合には機能しないUnexpected 'INDENT'
と思われます。コーヒースクリプトでこのような関数呼び出しを動的にストリングする方法は?.#{key}(val)
camanCache[imageClipName]