0

我有一个矩形。我想做一些带有颜色的动画。这意味着它应该开始在矩形中填充不同的颜色。它应该从左到右开始。例如我有四种颜色。红绿蓝橙。所以前 25% 应该用红色填充,接下来的 25% 用绿色填充,接下来的 25% 用蓝色填充,剩下的用橙色填充。首先,我尝试通过使用另一个矩形顶部的矩形来获得相同的结果。所以我可以一一改变矩形的颜色。但问题是,我无法删除那些子矩形的边框。这就是它在矩形中作为某种部分可见的原因。看起来好像我们用颜色将矩形分成了四个。我不想表现出来。我想开始使用不同的颜色。任何想法我该怎么做。我缺乏逻辑的东西。我们可以说一些不同颜色的进度条。

4

1 回答 1

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)并不断更改颜色本身以满足您的需要。

于 2012-05-20T15:03:52.697 回答