程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java的畫圖形式應用淺析

Java的畫圖形式應用淺析

編輯:關於JAVA

Java的畫圖形式應用淺析。本站提示廣大學習愛好者:(Java的畫圖形式應用淺析)文章只能為提供參考,不一定能成為您想要的結果。以下是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畫圖形式實例

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved