【问题标题】:Draw shapes in graphic based on chosen entry根据所选条目在图形中绘制形状
【发布时间】:2015-06-24 15:19:39
【问题描述】:

在 C# 中!

我想创建一种机制,根据用户选择在人体上绘制或显示形状。为了说明这一点:

注意:我不拥有这些图片。它们仅用于说明目的。来源:www.uebungen.ws

因此,如果用户选择了一项活动,程序应该为使用过的肌肉绘制形状或在背景图形(即人体)上显示准备好的位图或其他任何东西。 在最终版本中,可供选择的可能性会比这里多得多,所以仅仅为每个可能的选择准备一个位图并不是一个真正的选择。

如果你不明白我的意思,请访问:www.uebungen.ws。这是我得到上图的网站。


问题:

  1. 如何设置数据结构? 由于肌肉的数量在不久的将来不会改变,我可以简单地创建某种枚举结构。我在这里看到了一个有趣的例子:Nested Enum。或者我可以创建一个列表,其中包含特定条目的所有肌肉。但是这两个版本都有一个问题,就是在展示的时候,我必须决定哪块肌肉是哪块肌肉。我可以看到一个大的 switch case 查询即将出现......

  2. 将数据传输到 GUI 如果我有一个好的数据结构,很好。但是如何将数据获取到 GUI?假设我使用带有绑定的 WPF,我不能简单地创建一个将所有可能的肌肉作为属性的类,只是将不同红色形状的可见性绑定到这些属性。那么如何做到这一点呢?一个大开关盒?新的自定义控件?

  3. 如何显示红色形状? 位图或绘图形状或您会推荐什么?

谢谢你的帮助

【问题讨论】:

  • 我会将 ItemsControl 与 Canvas 一起使用,因为它是 ItemsPanel,并让几何成为数据项的一部分。

标签: c# wpf bitmap drawing


【解决方案1】:

我个人会生成所有选项的透明 PNG,并在使用 CSS 选择一个选项时将它们覆盖在基本图像上。作为替代方案,您可以将每个肌肉组作为一个 .SVG 图并在每个被选中时将它们绘制在图像上,但这会比覆盖 PNG 更复杂,您仍然需要生成肌肉组图像所以不会也不会更快。

【讨论】:

    猜你喜欢
    • 2018-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-27
    • 2020-06-23
    • 2017-02-17
    相关资源
    最近更新 更多