32 位色通常指 **ARGB8888**,每像素 4 字節:
| 位範圍 | 通道 | 含義 | 取值範圍 |
|---|---|---|---|
| 31-24 | Alpha (A) | 透明度 / 不透明度 | 0x00 (全透明) ~ 0xFF (不透明) |
| 23-16 | Red (R) | 紅色分量 | 0-255 |
| 15-8 | Green (G) | 綠色分量 | 0-255 |
| 7-0 | Blue (B) | 藍色分量 | 0-255 |
// 32 位整數表示 (0xAARRGGBB)
int opaqueWhite = 0xFFFFFFFF; // 不透明白色
int semiRed = 0x80FF0000; // 50% 透明紅色
int transparentW = 0x00FFFFFF; // 完全透明白色 (RGB 為白但不可見)
int invisible = 0x00000000; // 完全透明黑 (常用於清屏)
// 設置 View 背景半透明紅
view.setBackgroundColor(0x80FF0000); // 或 Color.argb(128, 255, 0, 0)
// Paint 設置透明度繪製文字
Paint paint = new Paint();
paint.setColor(Color.RED);
paint.setAlpha(128); // 0-255
canvas.drawText("半透明文字", x, y, paint);
// 圖片載入時保留 Alpha 通道
BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inPreferredConfig = Bitmap.Config.ARGB_8888; // 強制 32 位
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon, opts);
Alpha 通道是現代圖形渲染管線的核心組件,理解其混合數學與存儲格式,是實現高質量 UI 效果的前提。