Java的畫圖形式應用淺析。本站提示廣大學習愛好者:(Java的畫圖形式應用淺析)文章只能為提供參考,不一定能成為您想要的結果。以下是Java的畫圖形式應用淺析正文
畫圖形式是指後繪制的圖形與起初繪制的圖形有堆疊時,若何肯定堆疊部門的色彩。例如,後繪制的籠罩起初繪制的;或許後繪制與起初繪制的兩種色彩按某種規矩混雜。重要有正常形式和異或形式兩種:正常形式是後繪制的圖形籠罩在起初繪制的圖形之上,使起初販圖形的堆疊部門不再可見。異或形式把畫圖看做是按圖形著色。異或形式畫圖時,將以後正要畫圖的色彩、本來繪制的色彩和異或形式設定的色彩作特定的運算,獲得現實畫圖色彩。設置畫圖形式的辦法有:
setPaintMode():設置畫圖形式為籠罩形式(正常形式)。正常形式是畫圖的默許形式。
setXORMode(Color c):設置畫圖形式為異或形式,參數c為異或形式設定的畫圖色彩。
設配景色為B,用setXORMode()設置的色彩為C,另用某個非配景色D畫圖,XOR形式有以下肯定現實畫圖色彩的軌則:
假如某區域已用D著色,再用E著色,則成果是:
XOR畫圖形式實例
import javax.swing.*; import java.awt.*; public class Example7_4 extends JFrame{ public static void main(String args[]){ GraphicsDemo myGraphicsFrame = new GraphicsDemo(); } } class ShapesPanel extends JPanel{ SharpesPanel(){ setBackground(Color.white); } public void paintComponent(Graphics g){ super.paintComponent(g); setBackground(Color.yellow); //配景色為黃色 g.setXORMode(Color.red); //設置XOR畫圖形式,色彩為白色 g.setColor(Color.green); g.fillRect(20, 20, 80, 40); //現實色彩是green + yellow的混雜色=灰色 g.setColor(Color.yellow); g.fillRect(60, 20, 80, 40); //後一半是yellow+yellow=read,前一半是yellow+灰色 g.setColor(Color.green); g.fillRect(20, 70, 80, 40); //現實色彩是green+yellow的混雜色=灰色. g.fillRect(60, 70, 80, 40); //前一半是(green+yellow)+gray =配景色,後一半是green+yellow = gray g.setColor(Color.green); g.drawLine(80, 100, 180, 200); //該直線是green+yellow = gray g.drawLine(100, 100, 200, 200); //同上 /*再繪制部門堆疊的直線.原直線中央段是灰色+灰色=配景色,延伸部門是green+yellow=gray.*/ g.drawLine(140, 140, 220, 220); g.setColor(Color.yellow); //剖析以下直線色彩變更,與起初的力有堆疊 g.drawLine(20, 30, 160, 30); g.drawLine(20, 75, 160, 75); } } class GraphicsDemod extends JFrame{ public GraphicsDemo(){ this.getContentPane().add(new ShapesPanel()); setTile("根本畫圖辦法演示"); setSize(300, 300); setVisible(true); } }