【问题标题】:How to draw a loop shape in WPF?如何在 WPF 中绘制一个循环形状?
【发布时间】:2018-06-15 14:29:56
【问题描述】:

我正在研究如何通过代码隐藏在 WPF 中绘制循环形状。

我知道我可以画椭圆和画一条线,但我找不到任何地方如何修改它们以获得这种循环形状。

也许我没有为这种类型的绘图使用正确的词......但也找到了一些词,例如回旋曲线,但不确定这是否正是我要找的......

欢迎任何提示。谢谢!

【问题讨论】:

  • 您是在问如何在给定 2 分的情况下绘制具有一定圈数的弹簧?
  • 也许你可以使用Bezier curves。
  • 矢量还是光栅?
  • 我使用 unicode 字符拉丁小写字母“Rams Horn: (char 0x0264) 并执行此操作:ɤɤɤɤ。然后旋转 180 度。
  • 我们刚刚回答了您的问题并发布了完整的项目源代码。您可以在 Twitter、Youtube 和 GitHub 上找到它。干杯!

标签: c# wpf loops xaml drawing


【解决方案1】:

这有点笨拙,但您可以从 SVG 数据创建 Geometry 对象和 Path 对象。 然后可以将 Path 托管在任何容器中。

//Define SVG data
string pathData = "M 4.4285714e-6,196.64791 C 71.557031,196.64791 202.13304,-0.49493571 99.047621,-0.49493571 c -103.0854176,0 -4.93638,197.14284571 99.047619,197.14284571 103.984,0 197.9832,-197.14284571 99.04762,-197.14284571 -98.93558,0 3.94706,197.14284571 99.04762,197.14284571 95.10056,0 199.7498,-197.14284571 99.04761,-197.14284571 -100.70219,0 4.52998,197.14284571 99.04762,197.14284571";
//Create converter
var converter = TypeDescriptor.GetConverter(typeof(Geometry));

//Create Path
var p = new Path() {
    Data = (Geometry)converter.ConvertFrom(pathData),
    Stroke = new SolidColorBrush(Colors.Red),
    StrokeThickness = 4
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-16
    • 2019-06-30
    • 1970-01-01
    • 2011-04-03
    • 1970-01-01
    相关资源
    最近更新 更多