J'ai deux points avec leurs coordonnées et je dois dessiner un cercle. Un point est le centre et l'autre est sur le bord du cercle, donc, fondamentalement, la distance entre les deux points est le rayon du cercle. Je dois le faire dans MFC. J'ai essayé ceci, mais le cercle n'est pas dessiné correctement. Habituellement, c'est plus grand que ce qu'il devrait être.Dessine un cercle basé sur deux points
double radius = sqrt((c->p1.x*1.0 - c->p1.y) * (c->p1.x - c->p1.y) +
(c->p2.x - c->p2.y) * (c->p2.x - c->p2.y));
CPen black(PS_SOLID,3,RGB(255,0,0));
pDC->SelectObject(&black);
pDC->Ellipse(c->p1.x-radius , c->p1.y-radius, c->p1.x+radius, c->p1.y+radius);
p1
et p2
sont des points. Le cercle est dessiné comme un cercle dans un rectangle. Les arguments dans Ellipse()
sont les coins supérieur gauche et inférieur droit d'un rectangle.