转载

Java绘图模式概述

绘图模式是指后绘制的图形与早先绘制的图形有重叠时,如何确定重叠部分的颜色。例如,后绘制的覆盖早先绘制的;或者后绘制与早先绘制的两种颜色按某种规则混合。主要有正常模式和异或模式两种:正常模式是后绘制的图形覆盖在早先绘制的图形之上,使早先贩图形的重叠部分不再可见。异或模式把绘图看作是按图形着色。异或模式绘图时,将当前正要绘图的颜色、原先绘制的颜色以及异或模式设定的颜色作特定的运算,得到实际绘图颜色。设置绘图模式的方法有:
  • setPaintMode():设置绘图模式为覆盖模式(正常模式)。正常模式是绘图的默认模式。
  • setXORMode(Color c):设置绘图模式为异或模式,参数c为异或模式设定的绘图颜色。

设背景色为B,用setXORMode()设置的颜色为C,另用某个非背景色D绘图,XOR模式有以下确定实际绘图颜色的法则:
B + B = C,用背景色绘图,出现C颜色。
D + D = B,当一个图形重画时就能清除原先画的图形。
B + D = B和D的混合色(当B,D不相同时)。
如果某区域已用D着色,再用E着色,则结果是:
D + E = D和E的混合色(当D,E不相同时)。

XOR绘图模式实例参见【例12-4】
正文到此结束
Loading...