很不好意思,渐进色填充我从来还没有做过
我查了一些资料,也没有找到API函数,估计要用到一些算法
我在我们学校的BBS上把你的问题转发了一下,看看有没有高手知道
得到答案我就通知你。
还有就是所谓渐进颜色填充,是用得到的三个点的颜色,从一点的颜色过渡到另一点的颜色吗?
还是就是随便的渐进颜色填充?
我查了一些资料,也没有找到API函数,估计要用到一些算法
我在我们学校的BBS上把你的问题转发了一下,看看有没有高手知道
得到答案我就通知你。
还有就是所谓渐进颜色填充,是用得到的三个点的颜色,从一点的颜色过渡到另一点的颜色吗?
还是就是随便的渐进颜色填充?
你好,我刚才做了一个简单的渐进颜色的例子,不过不是填充三角形的,三角形的要计算很多数据。我是用画线的办法实现的,就是每个单位画一条线,而线的颜色是逐渐变化的,具体代码如下,希望对你的程序有所帮助。
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();
}
}
具体到三角形的填充,我想要计算出两条边上的对应两点(连线和另一边平行),这样逐个的画线过来,就能得到渐变颜色的效果。
是用类java.awt.GradientPaint,但是JDK的帮助是英文版的,我英文很菜
没有搞懂,你自己再看看好了。
不过我上面的方法也可以,只不过是比较麻烦,特别是图形较复杂时。
我有QQ 19690151,
加我,以后有java问题再一起讨论~:)