[解決済み] なぜ、この0xff000000をフィルターに書き込むのか、誰か教えてください。
2022-02-10 06:24:53
質問
以下はグレースケールフィルタのコードです。
class GrayScale extends RGBImageFilter {
@Override
public int filterRGB(int x, int y, int rgb) {
int a = rgb & 0xff000000;
int r = (rgb >> 16) & 0xff;
int g = (rgb >> 8) & 0xff;
int b = rgb & 0xff;
rgb = (r * 77 + g * 151 + b * 28) >> 8;
return a | (rgb << 16) | (rgb << 8) | rgb;
}
}
解決方法は?
入力の形式は
0xAARRGGBB
ここで
AA
はアルファ値(透明度)です。
RR
は赤です。
GG
は緑、そして
BB
は青色成分です。これは16進数なので、00からFF(255)までの値です。
ご質問は、アルファ値の抽出についてです。この行は
int a = rgb & 0xFF000000
のような値を考えた場合
0xFFFFFFFF
(白)のようになります。
AND
は、元の色とマスクの両方で設定されているビットをすべて返します。
0xFF
または255(正確には)です。
関連
-
[解決済み】スレッド "main "での例外 java.util.NoSuchElementException
-
[解決済み】Java Error "Exception in thread "main" java.util.InputMismatchException" Array プログラムで発生。
-
[解決済み] hashCode()をオーバーライドするオブジェクトのユニークIDを取得する方法は?
-
[解決済み] ランダムな文字列を使用するこのコードは、なぜ "hello world" と表示されるのですか?
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み] Javaは複数行の文字列をサポートしていますか?
-
[解決済み] Mapを実装し、挿入順序を保持するJavaクラス?
-
[解決済み] なぜJava 8のOptionalは引数で使ってはいけないのか
-
[解決済み】Javaの「ダブルブレース初期化」の効率化?
-
[解決済み】iOS 7のデフォルトの青色をプログラムで取得するにはどうすればいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】リンクリストの負の値の数でnegativeCntrを代入する
-
[解決済み】エラー:'if'のない'else'エラー
-
[解決済み】エラー:配列または java.lang.Iterable のインスタンスに対してのみ反復処理を行うことができます。
-
[解決済み】不正なエスケープ文字"㊧"について
-
[解決済み] 二項演算子「&」のオペランド型がおかしい java
-
[解決済み】HTTPステータス500 サーブレットクラスのインスタンス化エラー [重複]。
-
[解決済み】 java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver [重複]。
-
[解決済み】Javaを使用するSelenium - ドライバの実行ファイルのパスは、webdriver.gecko.driverシステムプロパティで設定する必要があります。
-
[解決済み】ソースルート外のJavaファイル intelliJ
-
[解決済み】Javaの未処理例外について