graphics.h头文件_C语言图形(graphics.h头文件功能和示例)

graphics.h头文件

C中的颜色说明 (Color Description in C)

setbkcolor sets the background to the color specified by the color or the number. The argument color may be a name or a number as given in the table below. (These symbolic names are defined in graphics.h). These colors can also be used to set textcolor (color of the text) or filling inside various shapes that you make in your program. We shall first learn about the color and their values and then we will learn it via the programs.

setbkcolor将背景设置为由颜色或数字指定的颜色。 参数color可以是下表中给出的名称或数字。 (这些符号名称在graphics.h中定义)。 这些颜色还可用于设置textcolor (文本的颜色)或填充您在程序中制作的各种形状。 我们将首先了解颜色及其值,然后通过程序进行学习。

Color 				Numeric Value
BLACK				  0
BLUE				  1
GREEN				  2
CYAN				  3
RED				  4
MAGENTA			   	  5
BROWN				  6
LIGHTGRAY			  7
DARKGRAY			  8
LIGHTBLUE			  9
LIGHTGREEN			  10
LIGHTCYAN			  11
LIGHTRED			  12
LIGHTMAGENTA			  13
YELLOW				  14
WHITE				  15

C语言中的示例图形程序 (Sample Graphics programs in C)

1. Background color

1.背景色

#include<graphics.h> /* header file */
#include<conio.h>
 
main()
{
 /* the following two lines are the syntax for writing a particular
 program in graphics. It's explanation is given after the program.*/

   int gd = DETECT, gm;
   initgraph(&gd, &gm, "C:\\TC\\BGI");
 
   
   setbkcolor (GREEN);
 
   getch();
   closegraph();
   return 0;
}

Output

输出量

Graphics.h Header function example 1

什么是initgraph,gd和gm? (What are initgraph, gd and gm?)

  • gd = graphdriver;

    gd = graphdriver;

  • gm = graphmode;

    gm = graphmode;

Syntax for initgraph:

initgraph的语法:

    void initgraph (int *graphdriver, int *graphmode, char *pathtodriver) ;

Description for initgraph:

初始化图说明:

initgraph

初始化图

initgraph is used to initialize the graphics system by loading a graphics driver from disk and thereby putting the system into graphics mode.

initgraph用于通过从磁盘加载图形驱动程序并由此使系统进入图形模式来初始化图形系统。

To start the graphics system, we first call the initgraph function. initgraph may use a particular graphics driver and mode, or it may auto-detect and pick the corresponding driver at runtime, according to our needs.

要启动图形系统,我们首先调用initgraph函数。 根据我们的需要, initgraph可以使用特定的图形驱动程序和模式,也可以在运行时自动检测并选择相应的驱动程序。

If we tell initgraph to autodetect, it calls detectgraph to select a graphics driver and mode. It also resets all graphics settings to their defaults values like current position, color, viewport and so on and also resets graphresult to 0.

如果我们告诉initgraph自动检测,它将调用detectgraph选择图形驱动程序和模式。 它还会将所有图形设置重置为其默认值,例如当前位置,颜色,视口等,并将graphresult重置为0。

Normally, memory is allocated by initgraph to load a particular graphics driver through _graphgetmem, then it loads the appropriate BGI file from disk.

通常,内存是由initgraph分配的,以通过_graphgetmem加载特定的图形驱动程序,然后从磁盘加载适当的BGI文件。

pathtodriver

路径驱动程序

pathtodriver denotes the directory path where initgraph must look for graphic drivers. initgraph first goes through the directed path to look for the files and if they are not found there, it goes to the current directory. The graphic driver must files must be present in the current directory if the pathtodriver is null.

pathtodriver表示initgraph必须在其中查找图形驱动程序的目录路径。 initgraph首先通过定向路径查找文件,如果在该文件中找不到文件,它将转到当前目录。 如果pathtodriver为null,则图形驱动程序必须在当前目录中存在文件。

graphdriver

图形驱动程序

*graphdriver is the integer that specifies which graphics driver is to be used. We can give it a value using a constant of the graphics_drivers enum type, which is defined in graphics.h and listed below.

* graphdriver是整数,它指定要使用的图形驱动程序。 我们可以给它使用graphics_drivers枚举类型,其在graphics.h中定义并在下面列出的恒定的值。

graphics_drivers constant    	Numeric value
DETECT	                        0 (requests autodetect)
CGA	                        1
MCGA	                        2
EGA	                        3
EGA64	                        4
EGAMONO	                        5
IBM8514	                        6
HERCMONO	                7
ATT400	                        8
VGA	                        9
PC3270	                        10

graphmode

图形模式

*graphmode is also an integer that specifies the initial graphics mode. The table for the values of *graphmode are given in the tlink below and its values are assigned in the same way as for *graphdriver.

* graphmode也是指定初始图形模式的整数。 * graphmode的值表在下面的链接中给出,其值的分配方式与* graphdriver相同。

graphdriver and graphmode must be given proper values from the tables or we will get absurd and unexpected results. The exception here is when graphdriver = DETECT. In this case, initgraph sets *graphmode to the highest resolution available for the detected driver.

必须从表中给graphdriver和graphmode适当的值,否则我们将得到荒谬和意外的结果。 例外是graphdriver = DETECT。 在这种情况下,initgraph将* graphmode设置为可用于检测到的驱动程序的最高分辨率。

Reference: https://www.cs.colorado.edu/~main/bgi/doc/initgraph.html

参考 :https://www.cs.colorado.edu/~main/bgi/doc/initgraph.html

什么是华大基因? (What is BGI?)

Borland Graphics Interface (BGI) is a graphics library that is bundled with several Borland compilers for the DOS operating systems since 1987. The library loads graphic drivers (*.BGI) and vector fonts (*.CHR) from disk so to provide device independent graphics support to the programmers.

自1987年以来,Borland图形接口(BGI)是一个图形库,它与用于DOS操作系统的若干Borland编译器捆绑在一起 。 该库从磁盘加载图形驱动程序(* .BGI)和矢量字体(* .CHR),以便为程序员提供独立于设备的图形支持。

BGI is accessible in C/C++ with graphics.lib/graphics.h.

在C / C ++中,可以通过graphics.lib / graphics.h访问BGI。

Reference: Borland Graphics Interface

参考: Borland图形界面

什么是closegraph()? (What is closegraph()?)

Syntax for closegraph() :

closegraph()的语法:

void closegraph (int wid= ALL_WINDOWS);

Description:

描述:

closegraph deallocates the memory allocated by the graphics system and then restores the screen to the mode it was in before calling initgraph.

closegraph取消分配图形系统分配的内存,然后将屏幕恢复为调用initgraph之前的模式。

Return Value: Return value is none.

返回值:返回值为无。

Windows Version of closegraph() :

Windows版本的closegraph():

In windows version of closegraph, there is an optional parameter called the ‘wid’ which is the window id (returned by initwindow) of the window that is supposed to be closed.

在Windows版本的closegraph中,有一个可选参数称为“ wid”,它是应该关闭的窗口的窗口ID(由initwindow返回)。

The wid parameter can also take one of the two constant values given below:

wid参数还可以采用下面给出的两个常数值之一:

  1. CURRENT_WINDOW which closes only the current window or

    CURRENT_WINDOW仅关闭当前窗口或

  2. ALL_WINDOWS which by default closes all the open graphic windows.

    ALL_WINDOWS默认情况下会关闭所有打开的图形窗口。

By closing the current window, current window will no longer exist and we will not be able to give any further drawing commands until a new window is created or a current window is set by calling setcurrentwindow.

通过关闭当前窗口,当前窗口将不再存在,并且在创建新窗口或通过调用setcurrentwindow设置当前窗口之前,我们将无法提供任何其他绘制命令。

Reference: https://www.cs.colorado.edu/~main/bgi/doc/closegraph.html

参考: https : //www.cs.colorado.edu/~main/bgi/doc/closegraph.html

2. Text color

2.文字颜色

#include<stdio.h>
#include<conio.h>
int main()
{
	textcolor(RED);
	clrcsr();
	cprintf("HELLO WORLD\N");
	getch();
	return 0;
}

Output

输出量

Graphics.h Header function example 2

3. Circle Graphics

3.圆形图形

#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<dos.h>

void main()
{
	int gd=DETECT, gm; int i;
	initgraph (&gd,&gm,"c:\tc\\bgi");

	clrscr();

	for(i=0;i<500;i++)
	{
		setcolor(i);
		//coordinates of center from x axis, y axis, radius
		circle(100,100,30+i); 
		delay(30);
		//cleardevice(); //try with and without cleardevice();
	}
	
	getch();
	
	closegraph();
}

Output

输出量

The circles will keep on growing till the assigned number.

圈子将继续增长,直到分配的数字为止。

Graphics.h Header function example 3

4. Hut Graphics

4.小屋图形

#include<graphics.h>
#include<conio.h>
 
int main(){
	int gd = DETECT,gm;
	initgraph(&gd, &gm, "X:\\TC\\BGI");
	/* Draw Hut */
	setcolor(WHITE);
	rectangle(150,180,250,300);
	rectangle(250,180,420,300);
	rectangle(180,250,220,300);

	line(200,100,150,180);
	line(200,100,250,180);
	line(200,100,370,100);
	line(370,100,420,180);

	/* Fill colours */
	setfillstyle(SOLID_FILL, BROWN);
	floodfill(152, 182, WHITE);
	floodfill(252, 182, WHITE);
	setfillstyle(SLASH_FILL, BLUE);
	floodfill(182, 252, WHITE);
	setfillstyle(HATCH_FILL, GREEN);
	floodfill(200, 105, WHITE);
	floodfill(210, 105, WHITE);

	getch();
	closegraph();
	return 0;
}

Output

输出量

Graphics.h Header function example 4

Author’s Note:

作者注:

These programs are made and tested in TURBO C7. This is my request to all the readers to please run the program for better understanding of the code. I’m always there to help in case of any query. Happy Coding!

这些程序是在TURBO C7中制作和测试的。 这是我对所有读者的要求,请运行程序以更好地理解代码。 如有任何查询,我随时都会为您提供帮助。 编码愉快!

翻译自: https://www.includehelp.com/c/graphics-functions-examples.aspx

graphics.h头文件

  • 26
    点赞
  • 140
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值