Eaxyx使用参考文档.doc

上传人:新** 文档编号:543873942 上传时间:2022-11-10 格式:DOC 页数:48 大小:750.50KB
返回 下载 相关 举报
Eaxyx使用参考文档.doc_第1页
第1页 / 共48页
Eaxyx使用参考文档.doc_第2页
第2页 / 共48页
Eaxyx使用参考文档.doc_第3页
第3页 / 共48页
Eaxyx使用参考文档.doc_第4页
第4页 / 共48页
Eaxyx使用参考文档.doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《Eaxyx使用参考文档.doc》由会员分享,可在线阅读,更多相关《Eaxyx使用参考文档.doc(48页珍藏版)》请在金锄头文库上搜索。

1、EasyX相助文档一、基本概念1.1颜色EasyX使用24bit真彩色,不再支持调色板模式。表示颜色有以下几种办法:1.用预定义颜色常量,如下:常量值颜色常量值颜色BLACK0黑DARKGRAY0x545454深灰BLUE0xA80000蓝LIGHTBLUE0xFC5454亮蓝GREEN0x00A800绿LIGHTGREEN0x54FC54亮绿CYAN0xA8A800青LIGHTCYAN0xFCFC54亮青RED0x0000A8红LIGHTRED0x5454FC亮红MAGENTA0xA800A8紫LIGHTMAGENTA0xFC54FC亮紫BROWN0x0054A8棕YELLOW0x54FCF

2、C黄LIGHTGRAY0xA8A8A8浅灰WHITE0xFCFCFC白2.用16进制的颜色表示,形式为:0xbbggrr(bb=蓝,gg=绿,rr=红)3.用RGB宏合成颜色。详见RGB。4.用HSLtoRGB、HSVtoRGB转换其他色彩模型到RGB颜色。详见HSLtoRGB、HSVtoRGB。示例:以下是部分设置前景色的方法:setcolor(0xff0000);setcolor(BLUE);setcolor(RGB(0,0,255);setcolor(HSLtoRGB(240,1,0.5);1.2坐标在EasyX中,坐标分两种:逻辑坐标和物理坐标。逻辑坐标逻辑坐标是在程序中用于绘图的坐标

3、体系。坐标默认的原点在屏幕的左上角,X轴向右为正,Y轴向下为正,度量单位是象素。坐标原点可以通过setorigin()函数修改;坐标轴方向可以通过setaspectratio()函数修改;缩放比例可以通过setaspectratio()函数修改。在本手册中,凡是没有注明的坐标,均指逻辑坐标。物理坐标物理坐标是描述设备的坐标体系。坐标原点在屏幕的左上角,X轴向右为正,Y轴向下为正,度量单位是象素。坐标原点、坐标轴方向、缩放比例都不能改变。1.3设备所谓“设备”,简单来说,就是绘图表面。在EasyX中,设备分两种,一种是默认的绘图窗口,另一种是IMAGE对象。通过SetWorkingImage()

4、函数可以设置当前用于绘图的设备。设置当前用于绘图的设备后,所有的绘图函数都会绘制在该设备上。二、绘图函数2.1绘图环境相关函数相关函数和数据如下:函数或数据描述cleardevice清除屏幕内容。initgraph初始化绘图窗口。closegraph关闭图形窗口。getaspectratio获取当前缩放因子。setaspectratio设置当前缩放因子。graphdefaults恢复绘图环境为默认值。setorigin设置坐标原点。setcliprgn设置当前绘图设备的裁剪区。clearcliprgn清除裁剪区的屏幕内容。GetHWnd获取绘图窗口句柄。2.1.1clearcliprgn这个函

5、数用于清空裁剪区的屏幕内容。voidclearcliprgn();2.1.2cleardevice这个函数用于清除屏幕内容。具体的,是用当前背景色清空屏幕,并将当前点移至(0,0)。voidcleardevice();2.1.3closegraph这个函数用于关闭图形环境。voidclosegraph();2.1.4getaspectratio这个函数用于获取当前缩放因子。voidgetaspectratio(float*pxasp,float*pyasp);参数:pxasp返回x方向上的缩放因子。pyasp返回y方向上的缩放因子。2.1.5GetHWnd这个函数用于获取绘图窗口句柄。HWND

6、GetHWnd();在Windows下,句柄是一个窗口的标识,得到句柄后,可以使用WindowsSDK中的各种命令实现对窗口的控制。示例:/获得窗口句柄HWNDhWnd=GetHWnd();/使用API函数修改窗口名称SetWindowText(hWnd,Hello!);2.1.6graphdefaults这个函数用于重置视图、当前点、绘图色、背景色、线形、填充类型、字体为默认值。voidgraphdefaults();2.1.7initgraph这个函数用于初始化绘图环境。HWNDinitgraph(intWidth,intHeight,intFlag=NULL);参数:Width绘图环境的

7、宽度。Height绘图环境的高度。Style绘图环境的样式,默认为NULL。可为以下值:值含义SHOWCONSOLE表示可以保留原控制台窗口。2.1.8setaspectratio这个函数用于设置当前缩放因子。voidsetaspectratio(floatxasp,floatyasp);参数:Xaspx方向上的缩放因子。例如绘制宽度为100的矩形,实际的绘制宽度为100*xasp。Yaspy方向上的缩放因子。例如绘制高度为100的矩形,实际的绘制高度为100*yasp。说明:如果缩放因子为负,可以实现坐标轴的翻转。例如,执行setaspectratio(1,-1);后,可使y轴向上为正。2.

8、1.9setcliprgn这个函数用于设置当前绘图设备的裁剪区。voidsetcliprgn(HRGNhrgn);参数:hrgn区域的句柄。创建区域所使用的坐标为物理坐标。如果该值为NULL,表示取消之前设置的裁剪区。说明:HRGN是Windows定义的表示区域的句柄。将该区域设置为裁剪区后,任何区域外的绘图都将无效(但仍然可以通过操作显存在裁剪区外绘图)。可以使用WindowsGDI函数创建一个区域。例如,创建矩形区域可以使用函数:HRGNCreateRectRgn(intleft,inttop,intright,intbottom);此外,还可以使用函数CreateEllipticRgn创

9、建椭圆形的区域,使用CreatePolygonRgn创建多边形的区域等等。还可以使用CombineRgn组合区域。更多关于区域的GDI函数,请参考MSDN中的RegionFunctions。注意:创建区域后,如果不再使用,请执行DeleteObject(HRGNhrgn)以释放该区域对应的系统资源。示例:以下代码用于创建一个矩形裁剪区,并在该裁剪区内画圆,请观察裁剪效果:#include#includevoidmain()/初始化绘图窗口initgraph(640,480);/创建一个矩形区域HRGNrgn=CreateRectRgn(100,100,200,200);/将该矩形区域设置为裁剪

10、区setcliprgn(rgn);/不再使用rgn,清理rgn占用的系统资源DeleteObject(rgn);/画圆,受裁剪区影响,只显示出四段圆弧circle(150,150,55);/取消之前设置的裁剪区setcliprgn(NULL);/画圆,不再受裁剪区影响,显示出一个完整的圆circle(150,150,60);/按任意键退出getch();closegraph();2.1.10setorigin这个函数用于设置坐标原点。voidsetorigin(intx,inty);x原点的x坐标(使用物理坐标)。y原点的y坐标(使用物理坐标)。2.2颜色表示及相关函数2.2.1相关函数和数据

11、如下:函数或数据描述getbkcolor获取当前绘图背景色。getcolor获取当前绘图前景色GetBValue返回指定颜色中的蓝色值。GetGValue返回指定颜色中的绿色值。GetRValue返回指定颜色中的红色值。HSLtoRGB转换HSL颜色为RGB颜色。HSVtoRGB转换HSV颜色为RGB颜色。RGB通过红、绿、蓝颜色分量合成颜色。RGBtoGRAY转换RGB颜色为灰度颜色。RGBtoHSL转换RGB颜色为HSL颜色。RGBtoHSV转换RGB颜色为HSV颜色。setbkcolor设置当前绘图背景色。setcolor设置当前绘图前景色。BGR交换颜色中的红色和蓝色。2.2.2BGR

12、BGR宏用于交换颜色中的红色和蓝色。COLORREFBGR(COLORREFcolor);参数:color需要交换红色和蓝色的颜色。返回值:返回交换红色和蓝色后的颜色。说明:颜色在内存中的表示形式为:0xbbggrr(bb=蓝,gg=绿,rr=红),但是显存中的颜色表现形式为0xrrggbb。注意,两者的红色和蓝色是相反的。直接操作显存时,可以通过BGR宏交换颜色的红色和蓝色部分。2.2.3getbkcolor这个函数用于获取当前绘图背景色。COLORREFgetbkcolor();2.2.4GetBValueGetBValue宏用于返回指定颜色中的蓝色值。BYTEGetBValue(COLO

13、RREFrgb);参数:rgb指定的颜色。返回值:指定颜色中的蓝色值,值的范围0255。说明:GetBValue宏在WindowsSDK中定义。2.2.5getcolor这个函数用于获取当前绘图前景色COLORREFgetcolor();2.2.6GetGValueGetGValue宏用于返回指定颜色中的绿色值。BYTEGetGValue(COLORREFrgb);参数:rgb指定的颜色。返回值:指定颜色中的绿色值,值的范围0255。说明:GetGValue宏在WindowsSDK中定义。2.2.7GetRValueGetRValue宏用于返回指定颜色中的红色值。BYTEGetRValue(COLORREFrgb);参数:rgb指定的颜色。返回值:指定颜色中的红色值,值的范围0255。说明:GetRValue宏在WindowsSDK中定义。2.2.8HSLtoRGB该函数用于转换HSL颜色为RGB颜色。COLORREFHSLtoRGB(floatH,floatS,floatL);参数:H原HSL颜色模型的Hue(色相)分量,0=H360。S原HSL颜色模型的Saturat

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号