各位大虾
我有个Applet
要渐变填充三角形的,
并且是三色填充的
A
|\
| \
|  \
|   \
|    \
|_____\C
B
例如上面的三角形,
假如
A点起始颜色为Color1
B点起始颜色为Color2
C点起始颜色为Color3
填充之后
在AB上 是从Color1渐变到Color2
在AC上 是从Color1渐变到Color3
在BC上 是从Color2渐变到Color3好象Java Applet 程序里的Graphics类是只有单色填充的
并且没有单独设置某点颜色的方法
不知道有没有高手遇到过这样的问题
有解决办法的话麻烦教一下小弟
谢谢拉

解决方案 »

  1.   

    有啊
    今天我也在学这个class
    叫 GradientPaitt类
    我一会帮你编译一个
      

  2.   

    双色渐变如下:
    package zet.java2d;import java.applet.Applet;
    import java.awt.Color;
    import java.awt.GradientPaint;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    public class Triangle extends Applet{
    private static final long serialVersionUID = 8165421932094897218L; public void paint(Graphics g){
    int []xPoint = new int[]{100,500,300};
    int []yPoint = new int[]{100,100,300};
    Graphics2D g2 = (Graphics2D)g;
    g2.setPaint(new GradientPaint(100,100,Color.WHITE,500,100,Color.BLACK ));
    g2.setPaint(new GradientPaint(100,100,Color.WHITE,300,300,Color.GREEN));
    //g2.setPaint(new GradientPaint(500,100,two,300,300,three));
    g.drawPolygon( xPoint,yPoint,3);
    g.fillPolygon(xPoint,yPoint,3);

    } }三色渐变,就只有自己计算,画点了