当我使用矩形的(0,0)“矩形(0,0,100,100)”的坐标时,我获得渐变。当我使用时:移动一个具有渐变填充的矩形
GradientPaint gp = new GradientPaint(0, 0, c1, 0, 100, c2);
Rectangle reckt = new Rectangle(0,100,100,200);
渐变消失。我究竟做错了什么?
public void draw(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
c1 = new Color(0, 0, 255);
c2 = new Color(0, 255, 255);
GradientPaint gp = new GradientPaint(0, 0, c1, 0, 100, c2);
g2d.setPaint(gp);
Rectangle reckt = new Rectangle(0,0,100,100);
g2d.fill(reckt);
}
使用AffineTransform并转换位置,然后只需在0x0处绘制/绘制。完成后请不要忘记重置它 – MadProgrammer