Le mode de dessin fait référence à la façon de déterminer la couleur de la partie qui se chevauchent lorsque les figures dessinées se chevauchent plus tard avec les figures dessinées plus tôt. Par exemple, le dessin ultérieur écrase le dessin précédent; ou le dessin ultérieur est mélangé avec le dessin précédent de deux couleurs selon une règle. Il existe principalement deux types: le mode normal et le mode exclusif ou le mode normal est la superposition graphique dessinée plus tard sur les graphiques dessinés plus tôt, de sorte que les parties qui se chevauchent des graphiques qui ont été vendues précédemment ne sont plus visibles. Le mode XOR traite le dessin comme un ombrage par graphique. Lors du dessin en mode XOR, une opération spécifique est utilisée pour obtenir la couleur de dessin réelle qui est actuellement dessinée, la couleur de dessin d'origine et la couleur définie en mode XOR. Les méthodes pour définir le mode de dessin sont:
SetPaintMode (): Définissez le mode de dessin sur le mode de superposition (mode normal). Le mode normal est le mode par défaut pour le dessin.
SetXorMode (couleur C): définissez le mode de dessin sur le mode XOR et le paramètre C est la couleur de dessin définie par le mode XOR.
Supposons que la couleur d'arrière-plan soit B, la couleur définie avec SetxorMode () est C, et une couleur non-fond D est également dessinée.
Si une région a été colorée avec D puis colorée avec E, le résultat est:
Exemple de mode de dessin XOR
Importer javax.swing. *; Importer java.awt. *; classe publique Exemple7_4 étend JFrame {public static void main (String args []) {graphicsdemo mygraph icsframe = new graphicsdemo (); {SetBackground (Color.White);} Public Void PaintCompont (Graphics G) {Super.PaintCos Définir le mode de dessin, la couleur est rouge g.setColor (Color.Green); ); 80, 40); // La couleur réelle est la couleur mixte du vert + jaune = gris. , la seconde moitié est verte + jaune = gris g.setcolor (Color.Green); , 200, 200); .DRAWLINE (140, 140, 220, 220); G.SetColor (Color. Yellow); Drawline (20, 75, 160, 75);}} GraphicsDemod étend JFrame {public GraphicsDemo () {this.getContentPane (). , 300);