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);
}
}