2012-05-20 32 views
0

我有一個矩形。我想做一些有色彩的動畫素材。 這意味着它應該開始填充矩形中的不同顏色。 它應該從左到右開始。例如,我有四個colurs。紅色綠色藍色,橙色。 所以前25%應該用紅色填充,接下來25%用綠色填充,接下來25%用藍色填充,並且用橙色填充 。首先,我試圖通過在另一個矩形的頂部使用矩形來實現相同的結果。 所以我可以逐個改變矩形的顏色。但問題是,我無法刪除那些subrectanlge的邊界 。這就是它在矩形中的某些部分可見的原因。它顯示 就好像我們將矩形分成了四個顏色。我不想在那裏表現出來。我想開始使用不同顏色的 。任何想法我該怎麼做。我缺乏合乎邏輯的東西。我們可以說不同顏色的進度條。將不同的顏色應用於矩形

回答

0

要取出與Graphics的矩形的邊界,你只是不要調用圖形函數繪製。例如:

public void paint(Graphics g) { 
    Graphics2D g2 = (Graphics2D)g; 

    //Rectangle with Color_1 
    g2.setColor(color1); //This would be red 
    g2.fill(rect1); 

    //Rectangle with Color_2 
    g2.setColor(color2); //This would be green 
    g2.fill(rect2); 

      ... //Repeat for other rectangles 

    g2.dispose() 
} 

現在編程部分會更棘手。你必須分別增加每個矩形。

做到這一點的另一種方法是看看顏色混合。我真的不知道,如果這就是你所需要的,但不管怎麼說:

http://www.java2s.com/Code/Java/2D-Graphics-GUI/Commoncolorutilities.htm http://www.dbuggr.com/leothenerd/blend-rgb-color-function-java/

你會顯然有跟上g2.setColor(Color)改變顏色也不斷變化本身的顏色,以滿足您的需要。

+0

Thanks.But我不知道我可以使用技術,因爲我使用SWT和Draw2d技術雖然差不多相似!!無論如何,我會試試看.. – user414967