将不同颜色应用于矩形

时间:2012-05-20 14:33:50

标签: swing graphics swt

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

1 个答案:

答案 0 :(得分: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()
}

现在程序化部分会比较棘手。你必须分别增加每个矩形。

另一种方法是看一下Color Blending。我真的不知道这是否是你需要的,但无论如何:

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

您显然必须使用g2.setColor(Color)不断更改颜色,并根据需要不断更改颜色。