私はアンドロイド用のガウスフィルターを書いています。
このチュートリアルのGaussFilterの例によると、http ://www.jhlabs.com/ip/blurring.htmlこのようにALPHA値を編集しています。
alpha += f * ((pixelValue >> 24) & 0xff);
このスレッドによると: RGB値に論理ビットシフトを使用する
(pixelValue >>24 & 0xff);
と同等ではありません
Color.alpha(pixelValue);
私の知る限り、RGBではアルファチャネルはオプションです。したがって、alphaとrgbのvlauesをどのように読んで編集するかは深さに依存します。
たとえば、さまざまな色深度の組み合わせがたくさんあります。
- 4ビットアルファなし
- 4ビット+4ビットアルファ
- アルファ(?)を含む24ビット
- Macintoshは24ビットプラス(または含む?)8ビットアルファを提供します
ユーザーがどのタイプの画像を処理したいかわからないので、すべての組み合わせをキャッチする必要があります。Color.Red(value)、Color.Green(value)...を使用するだけですが、これが最終的に遅すぎるかどうかはわかりませんか?処理する前にすべての入力を24ビットビットマップに変換できますが、これには時間がかかりすぎます。
どんな助けでもありがたいです、ありがとう。