EasyX图形化学习

2023-12-13 09:50:07

1.EasyX是什么?

是基于Windows的图形编程,给用户提供函数接口,最终函数调用会由Windows的API实现。

注:EasyX只适配?c++?

2.头文件:

<easyx.h>---只包含最新的函数

<graphics.h>---包含<easyx.h>以及已经不推荐使用的函数

(正常只需要包含<easyx.h>即可)

3.窗口创建:

initgraph 函数:用于创建图形化窗口。

1.可以上传两个参数作为窗口的宽度和高度。

initgraph(640,480);//即创建宽度为640,高度为480的窗口

2.也可以在宽高后再传一个参数,是easyx已经定义好的宏。

(1)EX_SHOWCONSOLE --- 在创建图形化窗口的同时保留控制台窗口。

(2)EX_NOCLOSE --- 禁用图形化窗口的关闭按钮。

(3)EX_NOMINIMIZE --- 禁用图形化窗口的最小化按钮。

(4)EX_DBLCLKS --- 检查鼠标是否双击。

initgraph(640,480,EX_DBLCLKS);

注:若想同时使用上面的宏,可用按位或“ | ”连接。

initgraph(640, 480, EX_DBLCLKS | EX_SHOWCONSOLE | EX_NOCLOSE);

4.设置窗口背景颜色:

setbkcolor 函数:用于设置当前设备绘图背景色。

1.直接使用给好的颜色:

setbkcolor(WHITE);

2.任意颜色:

(1)首先打开电脑的绘图工具,找到想要的颜色,会有红绿蓝的值;

(2)然后以RGB作为参数即可。

setbkcolor(RGB(73,130,199));

注:

在设置背景色之后,并不会改变现有背景色,而是只改变背景色的值,之后再执行绘图语句,例如 outtextxy,会使用新设置的背景色值。

如果需要修改全部背景色,可以在设置背景色后执行 cleardevice( )?函数(清除屏幕内容)。

5.窗口的坐标体系:

以左上角为原点,从左往右为x轴正方向,从上往下为y轴正方向。

6.基本图形绘制:

1.绘制一个点:

putpixel( ) 函数 :更改坐标点的颜色。

putpixel ( x,y,颜色)

putpixel(50, 50, RED);

2.绘制一条线:

(1)绘制线条:

line 函数 :绘制线条。

line (x1,y1,x2,y2) --- 绘制从x1,y1到x2,y2间的一条线。

line(0, 0, 640, 480);

注:自动填充为白色。

(2)设置线条颜色和样式:

setlinecolor ( color ) ;

serlinestyle (样式,线条粗细) ;?

注:其中线条样式分为三种:直线样式、端点样式、连接样式:

例:

setlinestyle(PS_SOLID | PS_ENDCAP_SQUARE, 5);

3.绘制一个矩形:

(1)绘制无填充矩形:

rectangle (左,上,右,下)(表示对应边框所对应的坐标)

注:边框颜色为之前设置的 line 颜色。

(2)绘制填充矩形:

fillrectangle (左,上,右,下)

注:默认填充白色,若想更改填充颜色,需在绘制前setfillcolor(YELLOW);函数设置颜色。

(3)绘制无边框填充矩形:

solidrectangle (左,上,右,下)

(4)绘制圆角矩形:

roundrect (左,上,右,下,椭圆宽度,椭圆高度)

这里椭圆宽度和高度是指---圆角对应的椭圆。

同理:填充圆角矩形和无边框圆角矩形:

?? ?fillroundrect(50, 90, 90, 130, 20, 20);
?? ?solidroundrect(90, 130, 130, 170, 20, 20);

4.绘制一个圆形:

(1)绘制无边框圆形:cicle (x,y,半径)

(2)绘制填充圆形: fillcicle (x,y,半径)

(3)绘制无边框填充圆形: solidcicle (x,y,半径)

(4)绘制椭圆:?? ?

ellipse ( 左,上,右,下)这里指用对应矩形坐标画出椭圆。

同理:填充椭圆和无边框椭圆:

fillellipse(150, 350, 350, 450);
solidellipse(350, 250, 550, 350);

5.绘制折线:

首先设置点列:

POINT points[] = { {0,0},{200,20},{150,80},{180,60} };

然后用polyline函数:

polyline (POINT*, 点的个数)在相应点直接产生折线。

polyline(points, 4);

文章来源:https://blog.csdn.net/2301_78922485/article/details/134848195
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。