Wpf/WinRT指出了一颗心

jra*_*ser 3 c# math wpf xaml winrt-xaml

我一直在画布上绘制各种形状,我已经设法计算出六边形,八边形甚至星形等数学.我似乎无法弄清楚如何画一颗心.有没有人有一个绘制心形所需要点的例子?

Chr*_*ris 6

我不确定是否有一种非常简单的方法可以直接绘制方程式Canvas(尽管你当然可以通过Path编程方式从方程中创建.依赖于你想要对形状做什么,以及你想要使用它的地方,你可以Path使用Path Markup Syntax定义一个并使用一些内置的弧和曲线.

例如(迅速把这个放在一起):

<Canvas>
    <Path Stroke="Red" StrokeThickness="3" 
        Data="M 241,200 
              A 20,20 0 0 0 200,240
              C 210,250 240,270 240,270
              C 240,270 260,260 280,240
              A 20,20 0 0 0 239,200
              " />
</Canvas>
Run Code Online (Sandbox Code Playgroud)

将创建看起来像这样的东西: 在此输入图像描述

其中使用2个弧和2个立方贝塞尔曲线.

你可以阅读更多关于语法链接的信息,但是通过一个小的解释(下面画了一半的心脏,从心脏顶部的倾角到底部的点,逆时针):

M 241,200             // Move to (241, 200)
A 20,20 0 0 0 200,240 // Draw an arc from current position to (200,240), with a size of 20x20 pixels
C 210,250 240,270 240,270 // Draw a cubic Bezier to point (240,270) with control points at (210,250), (240,270).
Run Code Online (Sandbox Code Playgroud)

绘制下一条曲线,然后绘制弧线,返回顶部,完成形状.

你可能需要玩一下才能得到你想要的结果.