很不好意思,渐进色填充我从来还没有做过
我查了一些资料,也没有找到API函数,估计要用到一些算法
我在我们学校的BBS上把你的问题转发了一下,看看有没有高手知道
得到答案我就通知你。
还有就是所谓渐进颜色填充,是用得到的三个点的颜色,从一点的颜色过渡到另一点的颜色吗?
还是就是随便的渐进颜色填充?

解决方案 »

  1.   

    tonygtonyg:
    你好,我刚才做了一个简单的渐进颜色的例子,不过不是填充三角形的,三角形的要计算很多数据。我是用画线的办法实现的,就是每个单位画一条线,而线的颜色是逐渐变化的,具体代码如下,希望对你的程序有所帮助。
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;class HelloWorldPanel extends JPanel
    {
    public void paintComponent(Graphics g)
    {
    super.paintComponent(g);
    int x = 10,c = 0;
    for(;c <= 255;x++,c++)//实现渐进颜色
    {
    g.setColor(new Color(200,c,c));
    g.drawLine(x,10,x,110);
    }
    }
    };class HelloWorldFrame extends JFrame
    {
    public HelloWorldFrame()
    {
    setTitle("Hello World!");
    setSize(400,400);
    addWindowListener(new WindowAdapter()
    {
    public void windowClosing(WindowEvent e)
    {
    System.exit(0);
    }
    });
    Container contentPane = getContentPane();
    contentPane.add(new HelloWorldPanel());
    }
    };public class PanelTest 
    {
    public static void main(String[] args) 
    {
    HelloWorldFrame frame = new HelloWorldFrame();
    frame.show();
    }
    }
    具体到三角形的填充,我想要计算出两条边上的对应两点(连线和另一边平行),这样逐个的画线过来,就能得到渐变颜色的效果。
      

  2.   

    哦,我查到资料了,是我们学校BBS上一个人告诉我的
    是用类java.awt.GradientPaint,但是JDK的帮助是英文版的,我英文很菜
    没有搞懂,你自己再看看好了。
    不过我上面的方法也可以,只不过是比较麻烦,特别是图形较复杂时。
      

  3.   

    520zju(生活咖啡):程序已经搞定了,谢谢你的帮忙,
    我有QQ 19690151,
    加我,以后有java问题再一起讨论~:)