0

長方形が1つあります。その上に色を使ったアニメーションをやりたかったのです。つまり、長方形のさまざまな色で塗りつぶし始める必要があります。左から右に向かってくるはずです。たとえば、私は4つのカラーを持っています。赤緑青、オレンジ。したがって、最初の25%は赤で、次の25%は緑で、次の25%は青で、残りはオレンジで埋める必要があります。最初に、別の長方形の上に長方形を使用して同じ結果を達成しようとしました。長方形の色を1つずつ変更できました。しかし、問題は、それらのサブレクタンジの境界線を削除できなかったことです。それが、長方形の中にある種のパーツとして表示された理由です。長方形を色で4つに分割したかのように見えていました。その中で見せたくない。いろいろな色で塗り始めたかったのです。どのようなアイデアでもそれを行うにはどうすればよいですか。私は論理的なものが不足しています。さまざまな色のプログレスバーと言えます。

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 に答える