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

Java 2D 繪圖模式:覆蓋模式與 XOR 模式解析

     編輯:Java 相關知識

Graphics 提供兩種繪圖模式:預設覆蓋模式(setPaintMode())與 XOR 模式(setXORMode(Color c))。XOR 模式下,新繪製顏色與現有像素顏色進行 XOR 運算,常用於橡皮筋選框、暫時性高亮繪製,重繪相同圖形可擦除。

Graphics2D g2d = (Graphics2D) g;
g2d.setXORMode(Color.RED); // 設置 XOR 顏色
g2d.setColor(Color.GREEN);
g2d.fillRect(20, 20, 80, 40); // 實際顏色 = GREEN XOR 背景
g2d.setColor(Color.YELLOW);
g2d.fillRect(60, 20, 80, 40); // 重疊區域顏色變化
// 再次繪製相同矩形可擦除

XOR 運算規則:背景色 B,XOR 顏色 C,繪圖色 D。B XOR B = C、D XOR D = B、B XOR D = 混合色。此模式適合臨時性繪製(如拖拽選區),不需重繪背景即可擦除。現代 Swing 建議使用雙緩衝與 AlphaComposite 實現更靈活的混合效果。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved