Pergunta

Eu desenho o círculo em C# usando o DirectX.I gostaria de desenhar o círculo com as mesmas dimensões em C# usando GDI.it significa que eu gosto de converter esse círculo do DirectX para o GDI. É qualquer ajuda corporal para mim.plz forneça a resposta para mim. Como posso fazê -lo. É qualquer algoritmo disponível para isso ........ e também dou a contribuição para o centro do círculo (x, y ) neste ponto de formato. Mas no GDI é formato de pixel. Então, como posso converter os pontos diretos para GDI+ pixels

Foi útil?

Solução

Aqui está um link do msdn que apresenta Gráficos e desenho em formulários do Windows. E é provável que você precise de algo semelhante a:

public Form1()
{
    InitializeComponent();

    this.Paint += new PaintEventHandler(Form1_Paint);

    // This works too
    //this.Paint += (_, args) => DrawCircle(args.Graphics);  
}

void Form1_Paint(object sender, PaintEventArgs e)
{
    DrawCircle(e.Graphics);
}

private void DrawCircle(Graphics g)
{
    int x = 0;
    int y = 0;
    int radius = 50;

    // The x,y coordinates here represent the upper left corner
    // so if you have the center coordinates (cenX, cenY), you will have to
    // substract radius from  both cenX and cenY in order to represent the 
    // upper left corner.

    // The width and height represents that of the bounding rectangle of the circle
    g.DrawEllipse(Pens.Black, x, y, radius * 2, radius * 2);

    // Use this instead if you need a filled circle
    //g.FillEllipse(Brushes.Black, x, y, radius * 2, radius * 2);

}

Depois disso, você pode querer procurar técnicas de buffer duplo, alguns links:

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top