2013-12-09 6 views
5

CamanJSは、ブラウザでライブ画像操作を行うための素晴らしいライブラリです。CamanJS - フィルタ/操作を適用した後に元のキャンバスを変更する

私はCamanを既存のキャンバスオブジェクトに使用しています。ユーザーが自分のサイトの前の領域に戻ってから再びキャンバスに戻ると、そのキャンバス上のイメージを変更する必要があるかもしれません。

Camanは受け取った最初の画像データをキャッシュして、キャンバスをそのコンテキストに「ロック」しているようです。 Camanを適用した後にキャンバスを変更しようとすると、キャンバスに目に見える変化が生じません。

Caman以外のキャンバスデータを変更してから、Camanフィルタを再適用するにはどうすればよいですか?

答えて

10

Ryan(作成者:CamanJS)にメールを送り、reloadCanvasData()という関数があり、キャンバスの元のコンテキストを変更してCamanのイメージデータキャッシュを '更新'することができると答えました。 https://github.com/meltingice/CamanJS/blob/master/src/core/caman.coffee#L387-L392

これは完全に機能しました。キャンバス用に作成したCamanインスタンスを保存し、その後の実行で.reloadCanvasData()を呼び出します。その後、あなたが望む任意のCaman操作を再度適用する必要があります。

Googleにはまだ参照が含まれていないようですので、この関数を文書化したいと考えていました。

+1

ありがとうございました!私は、Caman.js自体は最高ですが、彼らはより良いドキュメンテーションを必要としていると言わざるを得ません。ガイドや何かには言及されていません。私はコードを見ているだけで自分自身を見つけたことはありませんでした... – daGUY

+0

合意しました!うれしいことがあなたを助けました。 – Stephen

+0

こんにちは@Stephen、あなたは '.reloadCanvasData()'の実装方法について少しガイダンスを与えることができますか?私はすでに 'canvas.reloadCanvasData()'、 'Caman.reloadCanvasData(canvas)'のようなものを試しました。どんな助けもありがとう。ありがとう!そして、申し訳ありませんが、私はこの質問がかなり古くても、まだ関連性があることを知っています。 – Horacio

関連する問題