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