ホームページ >Java >&#&チュートリアル >Stack Blur は Android アプリのビットマップぼかしをどのように大幅に高速化できるのでしょうか?
Android SDK 用の高速ビットマップぼかし
Android アプリケーションでピクセルをループして画像をぼかす現在の方法は、特に時間がかかる可能性があります。より大きな画像の場合。この非効率性に対処するために、この記事では、ボックス ブラーとガウス ブラーの組み合わせを使用する、Quasimondo が提供する高速アルゴリズムを紹介します。
スタック ブラー アルゴリズム
スタック ブラーこのアルゴリズムには、画像を移動しながら移動する色のスタックを作成することが含まれます。新しいカラー ブロックを右側のスタックに継続的に追加し、一番左のカラー ブロックを削除します。スタック内の残りの色は、スタック内の位置に基づいて調整されます。このプロセスにより、純粋なガウスぼかしの実装よりも大幅に高速な、視覚的に心地よいぼかし効果が得られます。
実装の詳細
提供されたコードは、配列のスタックを使用して格納します。カラー値を取得し、スタックの内容に基づいて各ピクセルの平均カラーを計算します。このアルゴリズムは入力画像を 2 回 (水平方向に 1 回、垂直方向に 1 回) 反復処理し、スタック全体にカラー情報を分散してぼかし効果を実現します。
既知の問題と解決策
一部ユーザーは、このアルゴリズムの使用中に ArrayIndexOutOfBoundsException に遭遇しました。コメントで @anthonycr が示唆したように、Math.abs を StrictMath.abs または abs の代替実装に置き換えることで、多くの人にとってこの問題は解決されました。
利点
スタック ブラー アルゴリズムには次の利点があります:
以上がStack Blur は Android アプリのビットマップぼかしをどのように大幅に高速化できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。