【问题标题】:C# wpf Ellipse width and height for two pointsC# wpf 椭圆两点的宽度和高度
【发布时间】:2015-03-09 18:58:00
【问题描述】:

我正在尝试绘制一个以 point2 为中心、半径为“r”的圆。 r 的长度应该足够长到 point1 和 point2 之间的距离。我画了一张图来说明这一点。如何计算椭圆的正确宽度和高度以像这张图一样绘制它?我知道 r 可以通过取两点的差来计算。但是,afaik wpf 只允许您修改椭圆的宽度和高度,而不是半径。

【问题讨论】:

  • 它不允许我发布图片。
  • 宽度和高度不会是 r*2 吗?
  • 但是由于围绕圆创建的框的角,宽度和高度是否比圆的实际半径长一点?所以你必须补偿?
  • 如果你的意思是你需要考虑 Border 元素,那很好,但差异会非常小。边框通常为 1 或 2 像素宽。
  • 你是对的,它只是半径的 2 倍。

标签: c# wpf wpf-controls ellipse


【解决方案1】:

绘制 Ellipse 控件的替代方法是带有 EllipseGeometry 的 Path:

<Path Stroke="Black" StrokeThickness="1">
    <Path.Data>
        <EllipseGeometry Center="100,100" RadiusX="100" RadiusY="100"/>
    </Path.Data>
</Path>

【讨论】:

  • 这是一种更简单、更省时的方法,而不是以编程方式尝试这样做。
  • 另请注意,这会在几何轮廓上绘制笔触的中心,而 Ellipse 控件的 Width 和 Height 测量笔触形状的外部边界。
猜你喜欢
  • 2023-03-07
  • 2018-01-23
  • 2015-05-23
  • 2021-12-13
  • 2011-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多