2

easljs を使用してビデオ ソースにフィルターを追加する方法を見つけようとしています。ドキュメントによると、bitmap.filtesプロパティにフィルターを設定するだけです。しかし、これはうまくいかないようです。エラーなどはありません。フィルターはまったく適用されていません。

ドキュメントに関する混乱の 1 つは、cache()フィルターを適用するために表示オブジェクトで呼び出す必要があると記載されていることですが、bitmapクラスについてはcache()呼び出すべきではないと述べています。

以下は、テストとして使用しているコードです。

var stage = new createjs.Stage('screen');

var video =  document.getElementById('source');
var bitmap = new createjs.Bitmap(video);

bitmap.scaleX = 0.44;
bitmap.scaleY = 0.44;
bitmap.y = 30;

bitmap.filters = [
    new createjs.ColorFilter(0,0,0,1,255,0,0),
    new createjs.BoxBlurFilter(5, 5, 10)
];

stage.addChild(bitmap);
4

1 に答える 1

2

Bitmap と Filters に関するドキュメントは誤解を招く可能性があります。次のリリースで更新されるようにします。

ビットマップのキャッシュは、コンテナー、シェイプ、およびテキストのキャッシュから得られるパフォーマンス上の利点を提供しないため、避ける必要があります。実際、キャッシュされたバージョンを保存するために追加のメモリを使用するため、代わりにパフォーマンスが低下する可能性さえあります

ただし、フィルターを適用するには、ビットマップをキャッシュする必要があります。サンプルにキャッシュ呼び出しを追加すると、動作するはずです。

ドキュメントが原因で混乱が生じて申し訳ありません。

于 2013-04-08T01:26:53.657 に答える