C语言中的着色问题
我正在使用graphics.h library在显示屏上实现关闭按钮。我面临的问题是颜色函数(setfillcolor())不起作用,我想用它将两个圆圈之间的区域涂成红色。我的编译器是turbo CC语言中的着色问题,c,graphics,turbo-c,C,Graphics,Turbo C,我正在使用graphics.h library在显示屏上实现关闭按钮。我面临的问题是颜色函数(setfillcolor())不起作用,我想用它将两个圆圈之间的区域涂成红色。我的编译器是turbo C void shutdown(void) { setcolor(RED); circle(550,50,10); setfillcolor(RED); //color. circle(550,50,15); setcolor(CYAN);
void shutdown(void)
{
setcolor(RED);
circle(550,50,10);
setfillcolor(RED);
//color.
circle(550,50,15);
setcolor(CYAN);
}
setfillcolor是否只设置填充颜色?i、 它真的画了什么吗 为了填充你的背景,你可能必须先找到它的矩形,然后在画两个圆之前调用FilledRectangle(对不起,我不知道函数名) 比如:(psuedo代码)
编辑: 有太多的可能你是对的;)以下是我对你问题的两种解释(尽管我不完全确定你的目的是什么): 答复1: 试试这样的
void shutdown(void)
{
setfillcolor(BLACK);
FilledRectangle(screenRectLeft, screenRectTop,
screenRectRight, screenRectBottom);
setcolor(CYAN);
circle(550,50,15);
setcolor(RED);
circle(550,50,10);
}
其中screenRectLeft、screenRectTop、screenRectRight和screenRectBottom是屏幕矩形的范围。这样做的目的是设置绘制填充形状时使用的填充颜色。然后用屏幕的范围绘制一个填充矩形,您必须提供该范围。然后在已绘制的填充矩形上绘制圆。绘制圆的顺序已被切换,以便较大的圆不会过度绘制较小的圆(我假设这是您想要的)
答复2:
如果你想画两个环,每个环都有相同的中心点,它们之间的空间是背景色,你必须从最大的圆向内画同心圆,类似这样:
void shutdown(void)
{
setfillcolor(BLACK);
FilledRectangle(screenRectLeft, screenRectTop,
screenRectRight, screenRectBottom);
setcolor(RED);
circle(550,50,20);
setcolor(BLACK);
circle(550,50,15);
setcolor(RED);
circle(550,50,10);
setcolor(BLACK);
circle(550,50,5);
}
那应该(我认为,不能测试)画两个红环。您可以根据自己的喜好调整半径:o
希望这有帮助
p、 我刚刚看到了你帖子下面的图片——如果这是你想要的结果,我强烈建议你尽可能使用更强大/最新的图形库 setfillcolor是否只设置填充颜色?i、 它真的画了什么吗 为了填充你的背景,你可能必须先找到它的矩形,然后在画两个圆之前调用FilledRectangle(对不起,我不知道函数名) 比如:(psuedo代码)
编辑: 有太多的可能你是对的;)以下是我对你问题的两种解释(尽管我不完全确定你的目的是什么): 答复1: 试试这样的
void shutdown(void)
{
setfillcolor(BLACK);
FilledRectangle(screenRectLeft, screenRectTop,
screenRectRight, screenRectBottom);
setcolor(CYAN);
circle(550,50,15);
setcolor(RED);
circle(550,50,10);
}
其中screenRectLeft、screenRectTop、screenRectRight和screenRectBottom是屏幕矩形的范围。这样做的目的是设置绘制填充形状时使用的填充颜色。然后用屏幕的范围绘制一个填充矩形,您必须提供该范围。然后在已绘制的填充矩形上绘制圆。绘制圆的顺序已被切换,以便较大的圆不会过度绘制较小的圆(我假设这是您想要的)
答复2:
如果你想画两个环,每个环都有相同的中心点,它们之间的空间是背景色,你必须从最大的圆向内画同心圆,类似这样:
void shutdown(void)
{
setfillcolor(BLACK);
FilledRectangle(screenRectLeft, screenRectTop,
screenRectRight, screenRectBottom);
setcolor(RED);
circle(550,50,20);
setcolor(BLACK);
circle(550,50,15);
setcolor(RED);
circle(550,50,10);
setcolor(BLACK);
circle(550,50,5);
}
那应该(我认为,不能测试)画两个红环。您可以根据自己的喜好调整半径:o
希望这有帮助
p、 我刚刚看到了你帖子下面的图片——如果这是你想要的结果,我强烈建议你尽可能使用更强大/最新的图形库 这与
C
-我怀疑您使用的是一个旧的编译器/开发环境,它有一些原始的图形库,例如turboc
-您可能需要指定它的确切含义,这与C
没有多大关系-我怀疑您使用的是一个旧的编译器/开发环境,它有一些原始的图形库,例如turboc
-您可能需要指定确切的内容,因为任何答案都是特定于此的。