Cómo dibujar una imagen circular usando vc++
Para dibujar un círculo en VC++, puede usar la función API: Ellipse (int ?x1, int y1, int x2, int y2);
El principio de dibujar un círculo es el círculo inscrito de un rectángulo, los dos primeros de los cuatro parámetros son las coordenadas de la esquina superior izquierda del rectángulo y los dos últimos son las coordenadas de la esquina inferior derecha del rectángulo. Antes de que VC++ pueda dibujar gráficos, primero debe tener un DC de lienzo, que es el contexto del dispositivo. El siguiente ejemplo: void?CrrDlg::PaintCircle()//Función para dibujar un círculo sólido
{
CDC?*pDC?=?this->GetDC();?/ / Get DC
CBrush?brush,*oldbrush;//Brush
//Al incrementar num en el temporizador, aparecen círculos rojos y círculos verdes alternativamente, es decir, luces parpadeantes Fenómeno
si?(num%2){//num es el parámetro de conteo del temporizador, dibuja un círculo rojo cuando sea un número par
brush.CreateSolidBrush(RGB(255,0 , 0));
}
else{?//Cuando num es un número impar, dibuja un círculo verde
brush.CreateSolidBrush(RGB(0,255 ,0) );
}
oldbrush=pDC->SelectObject(&brush);
pDC->Ellipse(10,10,100,100);
pDC->Elipse(110,10,200,100);
pDC->SelectObject(oldbrush);
ReleaseDC(pDC);
}
void?CrrDlg::OnTimer(UINT_PTR?nIDEvent)?//Temporizador
{
num++;
PaintCircle();
CDialogEx::OnTimer(nIDEvent);
}
Para dibujar un círculo hueco, necesitas usar el pincel CPen y el método de pintura es el mismo. .