Establecer programación de píxeles
{
//Centro del círculo (x1, y1), píxel actual I(, yi), píxel derecho H (, 1, y), píxel inferior derecho D (, 1, yi-1), píxel inferior V (.
int, yi, dd, m, n;
// Distancia al centro al cuadrado DH =(Xi 1)*(Xi 1) yi * yi-r * r; dd=(xi 1)*(xi 1) (Yi-1)*(Yi-1)-R * R ; dv = Xi * Xi (yi-1)*(yi-1)-R * R;
Xi = 0; // Punto de partida (0, R)
yi = R;
DD = 2-2 * R; //La diferencia de distancia central del píxel inferior derecho del punto inicial DD = 1(r-1)*(r-1)-r * r.
pDC.SetPixel(x1, y1, RGB(0, 0, 255)); //Dibuja el centro del círculo y demuestra que el centro del círculo debe ocupar un píxel. p>
while(yi gt=xi) // Pasa al octavo círculo; Yi gt=0 puede dibujar un cuadrante
{
pDC. , Yi y1, RGB(255,0,0)); //2 área, traducción de coordenadas (x1, y1) para dibujar un círculo
pDC(yi x1, xi y1, RGB( 255, 0, 0)); //1 área
pDC.SetPixel(-xi x1, yi y1, RGB(255, 0, 0)); // Área 3
pDC. 0, 0)); //Área 4
pDC.(-yi x1, -xi y1, RGB(255, 0, 0));
pDC.SetPixel(-xi x1,-yi y1,RGB(255,0,0)); //Sexta área
pDC.SetPixel(xi x1,-yi y1,RGB(255) ,0) , 0)); //Séptima área
pDC(yi x1, -xi y1, RGB(255, 0, 0)); //Octava área
if(DD lt; 0) //D está en el círculo; h está dentro o fuera del círculo; seleccione ho D, dh gt=0, dd lt0, m = | DH = DD | DD yi )-1;
{
m = 2 *(DD yi)-1;
Si (m lt=0) //Toma el píxel derecho H (xi 1, fácil); cuando m = 0, toma el punto correcto.
{
DD = DD 2 * Xi 3; // Encuentra el píxel inferior derecho de H (xi 2, yi-1), DD = (Xi 2)*(Xi 2 ) (yi-1)*(yi-1)-r * r
Xi = Xi 1;
}
De lo contrario //Toma el inferior píxel derecho D (xi 1, yi-1).
{
DD = DD 2 *(Xi-yi 3 //Encuentra el píxel inferior derecho de D (xi 2, Yi-2), DD = (xi 2); ) * (xi 2) (Yi-2) *(Yi-2)-r * r
Xi = Xi 1;
yi = yi-1;
}
}
else if(DD gt; 0) //D está fuera del círculo; v está fuera o en el círculo; elija d o v dd gt0; , dv lt=0, n = | DD |-| dv | = 2 *(DD-Xi)-1;
{
n = 2 *(DD-Xi) -1 ;
If (n lt=0) //Toma el píxel inferior derecho D (xi 1, fácil -1 cuando n=0, tómalo
{<); /p>
DD = DD 2 *(Xi-yi 3); //Encuentra el píxel inferior derecho de D (xi 2, yi-2), DD = (xi 2) * (xi 2) (yi- 2) *(yi -2)-r * r
Xi = Xi 1;
yi = yi-1;
}
De lo contrario// Elimina el píxel V(xi, yi-1)
{
DD = DD-2 * yi 3 // Encuentra V (xi 1, yi-2; )DD = ( Xi 1)*(Xi 1) (Yi-2) *(Yi-2)-r * el píxel inferior derecho de r
yi = yi-1;
} p>
}
De lo contrario, si (dd==0) //D está en el círculo, tome D(xi 1, Yi-1).
{
DD = DD 2 *(Xi-yi 3 //Encuentra el píxel inferior derecho de D (xi 2, Yi-2), DD = (xi 2); ) * (xi 2) (Yi-2) *(Yi-2)-r * r
Xi = Xi 1;
yi = yi-1;
}
}
}
No olvides cambiar el método SetPixel en CDC.
Se dice que Tianxia es un sitio web novedoso muy bueno y que vale la pena tener.