graphics.h图形库用法总结

您所在的位置:网站首页 wind的用法总结 graphics.h图形库用法总结

graphics.h图形库用法总结

2023-08-12 00:56| 来源: 网络整理| 查看: 265

说明:本篇文章是根据easyX上的说明文档和自己常用的一些内容所作出的一些总结,是一个方便初学者记忆的学习内容的框架。如果想要更全,更加详细的信息,可以直接查阅ezsyX_help.chm文档

graphics.h图形库可以在windows平台下的vsc++下运行的图形化库(额外安装),我们要明白的是c++也是有许多不同的。比如GNU和vs的c++,他们就是属于不同家的。因此,有些程序会有不同的结果出来。easyX下载地址(vs2019的话要下载那个测试版的) 1. 基本说明

坐标: 基本所有语言图形绘制的坐标都是从左上角开始,水平向右为x轴,竖直向下为y轴,单位像素 initgraph(int x,int y[,flag=]) :创建一个横长x,竖长为y的图形窗,flag特性,一般用不到。 _getch() :图形关闭之前通常要键盘获得一个字符,否则图形一闪就没了。 closegraph() :关闭图形窗口函数。 cleardevice() :清空屏幕,之后会界面内容全部清空,显示为默认背景颜色。(一般用在更改背景色后)

2. 颜色模型

graphics.h 里面的颜色为RGB颜色,可以用 RGB(a,b,c) 表示任意一种颜色,其他常用颜色也可以用英文的大写表示。如:RED,BLUE等。

设置颜色的模型 setbkcolor():设置背景颜色,参数颜色。 setfillcolor():设置填充绘制图形式所用的颜色。 上面就是设置颜色的模型,把红色的部分换成相应的即可,常用的有bk(背景),fill(填充),line(线的颜色),text(文本) 设置风格样式的模型 setfillstyle():设置填充样式,比如竖线,横线,方格填充。(这里不做说明) setlinestyle():设置线的填充样式 setbkmode():图案,或文字填充的背景模式(背景色,透明)。 颜色的传入参数直接为颜色即可,样式的需要特殊值把set换成get即是改为到相应的颜色,样式参数 3. 图形绘制

line(x1,y1,x2,y2):直线。两端点坐标 rectangle(x1,y1,x2,y2):空心矩形。左上角坐标,右下角坐标 circle(x,y,r):空心圆。圆心坐标,半径 ellipse(x1,y1,x2,y2):椭圆。外切矩形左上角坐标,外切矩形右下角坐标。

上面的函数均是画的图形边框,除了直线外都可以用前缀fill-代表填充方式绘制图形(绘制面积),前缀clear-代表清空一个图形区域,如fillcircle()填充一个圆。

putpixel(x,y,color):画点。坐标,颜色

绘制圆弧和多边形这里不做说明。

4. 文字输出

outtextxy(x,y,str):在x,y位置输出字符串str 文字的只写一个函数,其他的不做说明,需要的话可以自己查阅资料。 文本的颜色函数,(可以放在2中的颜色模型一起记,也可以在这。) settextcolor() 、settextstyle() gettextcolor() 、gettextstyle()

5.图像处理

图像应该读取到图像对象IMAGE变量中(全大写,类似char是个类型)

IMAGE img; loadimage(&img,path[, width, height]):图像读取。IMAGE对象地址,路径。扩展参数,已制定宽高,拉伸读取。 putimage(x0,y0,&img):图像展示。图形窗口左上角坐标处开始展示img图形。 putimage(x0,y0,w,h,&img,x,y):图像展示。和上面相比,w,h为要展示多少像素图形,x,y为img对象从该位置开始展示。

透明贴图技巧: 含义:比如我们图形窗口已经有一个背景,我们想把一张人物照片中的人贴上去,但是照片上人以外的背景不展示。 掩码图:白底黑物,如(imgy): 在这里插入图片描述背景图:黑底实物,如(img): 在这里插入图片描述贴图步骤,用SRCAND贴掩码图,用SRCPAINT贴背景图 putimage(0,0,&imgy,SRCAND); putimage(0,0,&img,SRCPAINT);

之后就能只把不知火舞这个人给画上去

5.鼠标处理

鼠标对象MOUSEMSG 是一个结构体。内部有参数,x,y(鼠标坐标),uMsg(发生的消息)等值。 uMsg类型有: WM_LBOTTONDOWM

很显然前面的WM_是一个固定形式,后面三部分是可变的。左边蓝色的值分别为L,M,R分别代表鼠标左键,中键,右键。右边绿色的值分别为DOWN,UP,DBLCLK代表按下,松起,双击信息。中键的button相对应的式鼠标的移动操作WM_MOUSEMOVE()

GetMouseMsg():成员函数,调用这个函数后程序会一直卡在哪里,知道获得一个鼠标操作信息存到成员变量uMsg中。 FlushMouseMsgBuffer():成员函数,清空鼠标缓冲区信息。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3