0

我正在尝试使用托管 DirectX 在 C# 中绘制一个二维圆。(是的,它已过时,不受支持,我知道)

我在网上能找到的每一个例子都是用 C++ 编写的。他们使用 D3DTLVERTEX 之类的东西,我的 C# 库似乎没有。我不知道如何将 Directx C++ 转换为 Directx C#,因为它们在语法上似乎非常不同。

我正在使用这个简单的方法在 C# 中绘制一个矩形

public static void DrawFilledBox(float x, float y, float w, float h, Color   Color)
    {
        Vector2[] vLine = new Vector2[2];

        line.GlLines = true;

        if (h < 1)
            h = 1;
        if (w < 1)
            w = 1;

        line.Width = w;

        vLine[0].X = x + w / 2;
        vLine[0].Y = y;
        vLine[1].X = x + w / 2;
        vLine[1].Y = y + h;

        line.Begin();
        line.Draw(vLine, Color.ToArgb());
        line.End();
    }

我一次又一次地尝试画一个圆圈,但没有成功。如果圆圈被填充或只是圆圈轮廓,对我来说并不重要。谢谢。

4

1 回答 1

0

无论您使用的是古老的已弃用的 C# 托管包装器还是较新的包装器,Direct3D 都不是“画圆”的好选择。

Direct2D 更适合于矢量图形,例如平滑圆。您可以使用Win2DSharpDXSlimDX从 C# 使用 Direct2D。

于 2016-11-29T21:51:18.503 回答