GradientPaint вращение - PullRequest
       44

GradientPaint вращение

1 голос
/ 10 января 2012

У меня есть форма, которая вращается вокруг одного ее конца, закрашенная градиентной краской.

GradientPaint turretShade = new GradientPaint(Math.round(x+((1.0/2.0)*le)),Math.round(y+((1.0/2.0)*le)),green,
                                                Math.round(x+((1.0/2.0)*le)), Math.round(y+((1.0/2.0)*le)+(1.0/10.0)*le)
                                                ,new Color(0x1A3C12));
g2d.setPaint(turretShade);


Rectangle2D rect = new Rectangle2D.Double(0,-(0.5/10.0)*le,(3.0/4.0)*le,(1.0/10.0)*le);
g.clearRect(0,0,1000,1000);
AffineTransform transform = new AffineTransform();
transform.translate(x+((1.0/2.0)*le),y+((1.0/2.0)*le)+(0.5/10.0)*le);
transform.rotate(Math.toRadians(turretang));
Shape rotateRect = transform.createTransformedShape(rect);
g2d.fill(rotateRect);
transform.translate(0,0);

Проблема, с которой я сталкиваюсь, заключается в том, что когда я поворачиваю форму, она выходит за пределы установленного градиента.Любая идея о том, как повернуть градиент с формой?

...