WPF 绘图悖论

Posted

技术标签:

【中文标题】WPF 绘图悖论【英文标题】:WPF Drawing Paradox 【发布时间】:2010-11-19 14:51:20 【问题描述】:

怎么可能,2 个具有相同半径的椭圆(在视觉上)不具有相同的半径?

在下图中,黑色和红色椭圆具有相同的 RadiusX... 但请看图片!

<GeometryDrawing Brush="Red">
    <GeometryDrawing.Pen>
        <Pen Brush="Yellow" Thickness="1"/>
    </GeometryDrawing.Pen>
    <GeometryDrawing.Geometry>
        <GeometryGroup>
            <EllipseGeometry x:Name="MediumCircle" 
                             Center="0,0" RadiusX="4" RadiusY="4" />
        </GeometryGroup>
    </GeometryDrawing.Geometry>
</GeometryDrawing>
<GeometryDrawing Brush="Black">
    <GeometryDrawing.Geometry>
        <GeometryGroup>
            <EllipseGeometry x:Name="SmallCircle" 
                             Center="0,0" RadiusX="4" RadiusY="2"/>
        </GeometryGroup>
    </GeometryDrawing.Geometry>
</GeometryDrawing>

【问题讨论】:

【参考方案1】:

一个有描边边框,另一个没有。您会注意到半径与描边边框的中心对齐。

【讨论】:

【参考方案2】:

看起来应该怪厚度。使它们对两者都相同。

【讨论】:

【参考方案3】:

我想我找到了答案,但不确定...椭圆的厚度并不完全围绕椭圆。如果我们将厚度设置为 4,我们将只看到 2 个像素的椭圆,如果我们设置为 8,我们将不再看到红色圆圈...

【讨论】:

以上是关于WPF 绘图悖论的主要内容,如果未能解决你的问题,请参考以下文章

论芝诺悖论

论芝诺悖论

我正在尝试使用悖论视图打开一个悖论数据库(* .db 文件),我收到消息(“网络初始化失败。权限被拒绝。

生日悖论是啥?我用它省了上百G的内存

在运行时更新悖论表

图解如何击溃芝诺悖论