如何改变GradientPaint的方向?

时间:2016-01-28 04:21:38

标签: java swing awt java-2d linear-gradients

我正在尝试绘制一个从红色到蓝色的渐变矩形。我有以下代码:

g2d.setPaint(new GradientPaint(0, 0, Color.RED, 1000, 1000, Color.BLUE));
g2d.fillRect(0, 0, 1000, 1000); 

这很有效。但是,渐变的方向是对角线,从矩形的左上角到右下角(另一种观察方式是渐变遵循y=-x + windowHeight的行)

我希望我的渐变从上到下。所以矩形的整个顶部是红色的,整个底部是蓝色的。换句话说,颜色应该只随y坐标变化,给定任何y =点线,颜色在该线上应该是均匀的。

我还提供了以下图片,以便大致了解我要做的事情:enter image description here

我怎样才能做到这一点?

enter image description here

1 个答案:

答案 0 :(得分:5)

这一切都与渐变的矢量有关。这里:Data你的矢量是一个对角矢量,它起源于[0,0],然后以[1000,1000]或45度角结束或指向。

将其改为直降:[0,0]转到[0,1000]应该可以正常工作。 e.g,

(0, 0, Color.RED, 1000, 1000, Color.BLUE)