2016-11-29 7 views
-1

Managed DirectX를 사용하여 C#에서 2 차원 원을 그리려는 중입니다. (예, 구식이며 지원되지 않습니다. 알고 있습니다)Draw Circle C# Directx

웹에서 찾을 수있는 모든 예가 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(); 
    } 

내가 더 성공 원을 그리는 또 다시 노력했다. 원이 채워지거나 원이 윤곽선 인 경우 내게 중요하지 않습니다. 감사.

+0

XNA/C#은 더 이상 지원되지 않지만 적어도 시도하려고하는 것보다 더 의미있는 래퍼를 제공합니다. – maximdumont

답변

0

고대의 비추천 C# 관리되는 래퍼를 사용하는지 또는 최신 버전인지에 관계없이 Direct3D는 "그리기"에 적합하지 않습니다.

Direct2D는 부드러운 원과 같은 벡터 그래픽에 훨씬 적합합니다. Win2D, SharpDX 또는 SlimDX을 사용하여 C#의 Direct2D를 사용할 수 있습니다.