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

J2ME 手機程式開發:RGB 顏色模型與 Graphics 繪圖應用詳解

     編輯:J2ME

J2ME 無獨立 Color 類別,採用 RGB 整數編碼表示顏色。本文說明 RGB 概念、常見顏色編碼、Graphics 顏色操作方法與實務技巧。

RGB 顏色模型基礎

顏色由紅 (R)、綠 (G)、藍 (B) 三原色疊加,每通道 0~255(8 位元)。兩種表示方式:

  1. 三元組:(R, G, B) 例:(255, 0, 0) 為紅色
  2. 十六進制整數:0x00RRGGBB(高位元組保留為 0x00)
    例:紅色 0x00FF0000、綠色 0x0000FF00、藍色 0x000000FF、白色 0x00FFFFFF
修正:原文藍色範例 (255,255,255)/0x00FFFFFF 實為白色。正確藍色為 (0,0,255)/0x000000FF。

Graphics 顏色操作方法

方法說明範例
getColor() 取得目前繪圖顏色,回傳 0x00RRGGBB 整數 int c = g.getColor();
setColor(int RGB) 以十六進制整數設定顏色 g.setColor(0x00FF0000); // 紅色
setColor(int r, int g, int b) 以三通道值設定顏色(各 0~255) g.setColor(0, 255, 0); // 綠色

實務應用範例

protected void paint(Graphics g) {
    // 保存原顏色
    int oldColor = g.getColor();
    
    // 繪製紅色邊框
    g.setColor(0x00FF0000);
    g.drawRect(10, 10, 50, 30);
    
    // 繪製半透明綠色填充(需裝置支援 alpha,CLDC 1.1+)
    // g.setColor(0x8000FF00); // 非標準,視實作而定
    
    // 復原顏色
    g.setColor(oldColor);
}

進階技巧

  • 顏色常數定義:建立 Colors 工具類集中管理,便於主題切換
  • 漸層效果:迴圈逐行改變 RGB 數值繪製 drawLine() 模擬漸層
  • 灰階轉換:gray = (R*30 + G*59 + B*11) / 100(近似人眼亮度感知)
  • 螢幕色深適配:使用 Display.numColors() 或 Display.isColor() 檢測,單色螢幕自動轉灰階
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved