0

Managed DirectX を使用して C# で 2D 円を描画しようとしています。(はい、それは時代遅れであり、サポートされていません、私は知っています)

Web で見つけたすべての例は C++ です。彼らは、私の C# ライブラリにはないように見える D3DTLVERTEX のようなものを使用します。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

Direct3D は、古い非推奨の C# マネージ ラッパーを使用しているか、新しいラッパーを使用しているかにかかわらず、「円を描く」ための適切な選択ではありません。

Direct2D は、滑らかな円などのベクター グラフィックスに適しています。Win2DSharpDX、またはSlimDXを使用して、C# から Direct2D を使用できます。

于 2016-11-29T21:51:18.503 に答える