我正在尝试绘制一个从红色到蓝色的渐变矩形。我有以下代码:
g2d.setPaint(new GradientPaint(0, 0, Color.RED, 1000, 1000, Color.BLUE));
g2d.fillRect(0, 0, 1000, 1000);
这很有效。但是,渐变的方向是对角线,从矩形的左上角到右下角(另一种观察方式是渐变遵循y=-x + windowHeight
的行)
我希望我的渐变从上到下。所以矩形的整个顶部是红色的,整个底部是蓝色的。换句话说,颜色应该只随y坐标变化,给定任何y =点线,颜色在该线上应该是均匀的。
我怎样才能做到这一点?
答案 0 :(得分:5)
这一切都与渐变的矢量有关。这里:Data
你的矢量是一个对角矢量,它起源于[0,0],然后以[1000,1000]或45度角结束或指向。
将其改为直降:[0,0]转到[0,1000]应该可以正常工作。 e.g,
(0, 0, Color.RED, 1000, 1000, Color.BLUE)