首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显式几何边界

显式几何边界
EN

Stack Overflow用户
提问于 2012-08-18 19:41:37
回答 1查看 959关注 0票数 1

我在创建放射性几何体的过程中遇到了以下问题:

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

有没有办法在几何级解决这个问题?我可以通过显式设置笔刷的中心点来修复它,但这是不方便和脆弱的。

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-18 19:49:58

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

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

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

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12018256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档