1

我在创建放射性几何时遇到了以下问题: 放射性几何

橙色圆点表示 RadialGradientBrush 中心点 (0,0)。它应该在黑色圆圈的中心,而不是在底部。这会导致另一个问题:旋转动画。

有没有办法在几何级别解决这个问题?我可以通过明确设置画笔的中心点来修复它,但这既不方便又脆弱。

<GeometryDrawing> 
    <GeometryDrawing.Geometry>
        <GeometryGroup>
            <PathGeometry Figures="
                          M-10,0 Q0,5 10,0
                          Q20,25 25,50
                          Q0,60 -25,50
                          Q-20,25 -10,0 Z">
                <PathGeometry.Transform>
                    <TranslateTransform Y="15" />
                </PathGeometry.Transform>
            </PathGeometry>

            <PathGeometry Figures="
                          M-10,0 Q0,5 10,0
                          Q20,25 25,50
                          Q0,60 -25,50
                          Q-20,25 -10,0 Z" >
                <PathGeometry.Transform>
                    <TransformGroup>
                        <TranslateTransform Y="15" />
                        <RotateTransform Angle="120" />
                    </TransformGroup>
                </PathGeometry.Transform>
            </PathGeometry>
            <PathGeometry Figures="
                          M-10,0 Q0,5 10,0
                          Q20,25 25,50
                          Q0,60 -25,50
                          Q-20,25 -10,0 Z" >
                <PathGeometry.Transform>
                    <TransformGroup>
                        <TranslateTransform Y="15" />
                        <RotateTransform Angle="240" />
                    </TransformGroup>
                </PathGeometry.Transform>
            </PathGeometry>
            <EllipseGeometry RadiusX="10" RadiusY="10" />
        </GeometryGroup>
    </GeometryDrawing.Geometry>
    <GeometryDrawing.Brush>
        <RadialGradientBrush ColorInterpolationMode="ScRgbLinearInterpolation">
            <GradientStop Offset="0" Color="Orange" />
            <GradientStop Offset="0.03" Color="Black" />
        </RadialGradientBrush>
    </GeometryDrawing.Brush>
    <GeometryDrawing.Pen>
        <Pen Thickness="0">
            <Pen.Brush>
                <SolidColorBrush Color="Black" />
            </Pen.Brush>
        </Pen>
    </GeometryDrawing.Pen>
</GeometryDrawing>
4

1 回答 1

4

这是因为盒子的顶部切断了大圆圈的顶部。它被切断,因为顶部的两个花瓣旋转。

您可以通过在几何图形中添加外圆(透明)或在顶部添加边距来解决此问题。

这将向下移动绘图的黑色部分,使橙色点居中并固定旋转。

这有意义吗?很难解释,需要的时候我可以画一个草图。

于 2012-08-18T11:49:58.493 回答