怎么在vs 2022 c++用graphics.h画一个带缺口的圆线
像下面这样的
#include <graphics.h>
int main() {
int gd = DETECT, gm;
initgraph(&gd, &gm, "");
int xc = 300, yc = 200;
int radius = 50;
int start_angle = 45;
int end_angle = 135;
int x = 0, y = radius;
int d = 3 - 2 * radius;
while (x <= y) {
putpixel(xc + x, yc + y, WHITE);
putpixel(xc - x, yc + y, WHITE);
putpixel(xc + x, yc - y, WHITE);
putpixel(xc - x, yc - y, WHITE);
putpixel(xc + y, yc + x, WHITE);
putpixel(xc - y, yc + x, WHITE);
putpixel(xc + y, yc - x, WHITE);
putpixel(xc - y, yc - x, WHITE);
if (d < 0) {
d += 4 * x + 6;
} else {
d += 4 * (x - y) + 10;
y--;
}
x++;
}
int start_x = xc + radius * cos(start_angle * 3.14 / 180);
int start_y = yc - radius * sin(start_angle * 3.14 / 180);
int end_x = xc + radius * cos(end_angle * 3.14 / 180);
int end_y = yc - radius * sin(end_angle * 3.14 / 180);
line(start_x, start_y, end_x, end_y);
getch();
closegraph();
return 0;
}
运行结果:
代码:
#include <graphics.h>
#include <conio.h>
#define PI 3.14159
int main() {
initgraph(640, 480); // 初始化图形界面
setbkcolor(WHITE); // 设置背景色为白色
cleardevice(); // 清空屏幕
int xcenter = 200;
int ycenter = 200; //圆的中心点坐标
int radius1 = 100,radius2=80; //外圆半径、内圆半径
//setcolor(RED); /*设置绘图颜色为红色*/
setfillcolor(RED);
solidpie(xcenter - radius1, ycenter - radius1, xcenter + radius1, ycenter + radius1, -PI/3, PI+PI/3); /*画圆弧*/
setfillcolor(WHITE);
solidpie(xcenter - radius2, ycenter - radius2, xcenter + radius2, ycenter + radius2, -PI / 3-0.01, PI + PI / 3+0.01); /*画圆弧*/ //0.01是消除外圆虚线
_getch();
closegraph(); /*退出图形状态*/
return 0;
}
void arc(int left, int top, int right, int bottom, double stangle, double endangle); // 画椭圆弧(起始角度和终止角度为弧度制)
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!