JavaFX半圆径向梯度半径

JavaFX半圆径向梯度半径,javafx,gradient,shapes,circular-dependency,intersect,Javafx,Gradient,Shapes,Circular Dependency,Intersect,我需要在减去的圆上加一个径向梯度。我一直在尝试,但我不能得到一个圆形梯度 1:整圈 2:整圈径向梯度 3:减法圆 4:减法圆中的圆径向梯度试验(不是我想要的) 5:减法圆中的圆形径向梯度这是我想要的。 一旦我得到减去的圆(3),我应用径向梯度,但我得到(4)而不是(5) 我还尝试更改x和y的值,但没有得到我想要的值。使用clip对圆进行切片: double x = 0.5; double y = 0.5; RadialGradient gradientCut = new RadialGrad

我需要在减去的圆上加一个径向梯度。我一直在尝试,但我不能得到一个圆形梯度

1:整圈 2:整圈径向梯度 3:减法圆 4:减法圆中的圆径向梯度试验(不是我想要的) 5:减法圆中的圆形径向梯度这是我想要的。

一旦我得到减去的圆(3),我应用径向梯度,但我得到(4)而不是(5)


我还尝试更改x和y的值,但没有得到我想要的值。

使用clip对圆进行切片:

double x = 0.5;
double y = 0.5;

RadialGradient gradientCut = new RadialGradient(0, 0, x, y, 1, true, CycleMethod.NO_CYCLE, new
        Stop[]{
        new Stop(0, Color.ORANGE),
        new Stop(0.2, Color.YELLOW),
        new Stop(0.5, Color.TRANSPARENT)
});
double radius = 50.0;
Circle c = new Circle(radius, gradientCut);
var clip = new Rectangle(radius * 2, radius);
clip.setTranslateX(-radius);
clip.setTranslateY(-65);
//clip.setTranslateY(-50);  --> half circle
c.setClip(clip);
double x = 0.5;
double y = 0.5;

RadialGradient gradientCut = new RadialGradient(0, 0, x, y, 1, true, CycleMethod.NO_CYCLE, new
        Stop[]{
        new Stop(0, Color.ORANGE),
        new Stop(0.2, Color.YELLOW),
        new Stop(0.5, Color.TRANSPARENT)
});
double radius = 50.0;
Circle c = new Circle(radius, gradientCut);
var clip = new Rectangle(radius * 2, radius);
clip.setTranslateX(-radius);
clip.setTranslateY(-65);
//clip.setTranslateY(-50);  --> half circle
c.setClip(clip);