首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

MIDP 2.0 利用 Image.getRGB 實現 Alpha 通道半透明效果

     編輯:Java 相關知識

背景:MIDP 1.0 僅 Nokia/LG 專有 API 支援 Alpha

MIDP 2.0 標準化提供 Image.getRGB() 可像素級操作 ARGB。

核心代碼

try {
    image = Image.createImage("/ken.png"); // 載入原圖
} catch (IOException e) {}

int[] argb = new int[image.getWidth() * image.getHeight()];
image.getRGB(argb, 0, image.getWidth(), 0, 0, image.getWidth(), image.getHeight());

for (int i = 0; i < argb.length; i++) {
    // 保留 RGB,Alpha 設為 128 (50% 透明)
    argb[i] = (argb[i] & 0x00FFFFFF) | 0x80000000;
}

Image translucent = Image.createRGBImage(argb, image.getWidth(), image.getHeight(), true);
// 繪製 translucent 即得半透明效果

關鍵點

  • getRGB 取得 ARGB 整數陣列 (高 8 位 Alpha)。
  • 位運算 & 0x00FFFFFF 清除原 Alpha,| 0x80000000 設定新 Alpha (0x80 = 128)。
  • createRGBImage(..., true) 最後參數 true 表示資料含 Alpha。
  • 測試環境:Eclipse 3.0 + EclipseME 0.6 + WTK 2.2 通過。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved