ImageVerifierCode 换一换
格式:DOCX , 页数:39 ,大小:28.29KB ,
资源ID:10885968      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-10885968.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Easy 指导手册.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Easy 指导手册.docx

1、Easy 指导手册EasyX指导手册制作人:jianxiawzx一、基本概念颜色EasyX使用24bit真彩色,不再支持调色板模式。表示颜色有以下几种办法:1.用预定义颜色常量,如下:常量值颜色常量值颜色BLACK0黑DARKGRAY0x545454深灰BLUE0xA80000蓝LIGHTBLUE0xFC5454亮蓝GREEN0x00A800绿LIGHTGREEN0x54FC54亮绿CYAN0xA8A800青LIGHTCYAN0xFCFC54亮青RED0x0000A8红LIGHTRED0x5454FC亮红MAGENTA0xA800A8紫LIGHTMAGENTA0xFC54FC亮紫BROWN0x

2、0054A8棕YELLOW0x54FCFC黄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,);坐标在EasyX中,坐标分两种:逻辑坐标和物理坐标。逻辑坐标逻辑

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

4、kingImage()函数可以设置当前用于绘图的设备。设置当前用于绘图的设备后,所有的绘图函数都会绘制在该设备上。二、绘图函这个函数用于清空裁剪区的屏幕内容。voidclearcliprgn();这个函数用于清除屏幕内容。具体的,是用当前背景色清空屏幕,并将当前点移至(0,0)。voidcleardevice();这个函数用于关闭图形环境。voidclosegraph();这个函数用于获取当前缩放因子。voidgetaspectratio(float*pxasp,float*pyasp);参数:pxasp返回x方向上的缩放因子。pyasp返回y方向上的缩放因子。这个函数用于获取绘图窗口句柄。H

5、WNDGetHWnd();在Windows下,句柄是一个窗口的标识,得到句柄后,可以使用WindowsSDK中的各种命令实现对窗口的控制。示例:文字背景不是透明时,指定文字的背景色。2.执行cleardevice()或clearcliprgn()时,使用该颜色清空屏幕或裁剪区。示例:以下示例实现在蓝色背景下绘制红色的矩形:#include#includevoidmain()屏幕颜色指绘制所经过的屏幕像素点的颜色。3.当前颜色是指通过setcolor设置的用于当前绘制的颜色。文字输出相关函数相关函数和数据如下:函数或数据描述getfont获取当前字体样式。LOGFONT保存字体样式的结构体。ou

6、ttext在当前位置输出字符串。outtextxy在指定位置输出字符串。drawtext在指定区域内以指定格式输出字符串。setbkmode设置输出文字时的背景模式。setfont设置当前字体样式。textheight获取字符串实际占用的像素高度。textwidth获取字符串实际占用的像素宽度。这个函数用于在指定区域内以指定格式输出字符串。intdrawtext(LPCTSTRstr,RECT*pRect,UINTuFormat);intdrawtext(TCHARc,RECT*pRect,UINTuFormat);参数:str待输出的字符串。pRect指定的矩形区域的指针。某些uFormat

7、标志会使用这个矩形区域做返回值。详见后文说明。uFormat指定格式化输出文字的方法。详见后文说明。C待输出的字符。返回值:函数执行成功时,返回文字的高度。如果指定了DT_VCENTER或DT_BOTTOM标志,返回值表示从pRect-top到输出文字的底部的偏移量。如果函数执行失败,返回0。说明:注:下文关于文字位置的描述,均是相对于pRect指向的矩形而言。标志描述DT_BOTTOM调整文字位置到矩形底部,仅当和DT_SINGLELINE一起使用时有效。DT_CALCRECT检测矩形的宽高。如果有多行文字,drawtext使用pRect指定的宽度,并且扩展矩形的底部以容纳每一行文字。如果只

8、有一行文字,drawtext修改pRect的右边以容纳最后一个文字。无论哪种情况,drawtext都返回格式化后的文字高度,并且不输出文字。DT_CENTER文字水平居中。DT_EDITCONTROL以单行编辑的方式复制可见文本。具体的说,就是以字符的平均宽度为计算依据,同时用这个方式应用于编辑控制,并且这种方式不显示可见部分的最后一行。DT_END_ELLIPSIS对于文本显示,如果字符串的末字符不在矩形内,它会被截断并以省略号标识。如果是一个单词而不是一个字符,其末尾超出了矩形范围,它不会被截断。字符串不会被修改,除非指定了DT_MODIFYSTRING标志。DT_EXPANDTABS展开

9、TAB符号。默认每个TAB占8个字符位置。注意,DT_WORD_ELLIPSIS、DT_PATH_ELLIPSIS和DT_END_ELLIPSIS不能和DT_EXPANDTABS一起用。DT_EXTERNALLEADING在行高里包含字体的行间距。通常情况下,行间距不被包含在正文的行高里。DT_HIDEPREFIXWindows2000/XP:忽略文字中的前缀字符(&),并且前缀字符后面的字符不会出现下划线。其他前缀字符仍会被处理。例如:输入字符串:A&bc&d通常输出:Abc&dDTDT_HIDEPREFIX:Abc&dDT_INTERNAL使用系统字体计算文字的宽高等属性。DT_LEFT文

10、字左对齐。DT_MODIFYSTRING修改指定字符串为显示出的正文。仅当和DT_END_ELLIPSIS或DT_PATH_ELLIPSIS标志同时使用时有效。DT_NOCLIP使输出文字不受pRect裁剪限制。使用DT_NOCLIP会使drawtext执行稍快一些。DT_NOFULLWIDTHCHARBREAKWindows2000/XP:防止换行符插入到DBCS(double-widecharacterstring,即宽字符串),换行规则相当于SBCS字符串。仅当和DT_WORDBREAK一起使用时有效。例如,汉字就是宽字符,设置该标志后,连续的汉字会像英文单词一样不被换行符中断。DT_N

11、OPREFIX关闭前缀字符的处理。通常,DrawText解释前缀转义符&为其后的字符加下划线,解释&为显示单个&。指定DT_NOPREFIX,这种处理被关闭。例如:输入字符串:A&bc&d通常输出:Abc&dDT_NOPREFIX:A&bc&dDT_PATH_ELLIPSIS对于显示的文字,用省略号替换字符串中间的字符以便容纳于矩形内。如果字符串包含反斜杠(),DT_PATH_ELLIPSIS尽可能的保留最后一个反斜杠后面的文字。字符串不会被修改,除非指定了DT_MODIFYSTRING标志。DT_PREFIXONLYWindows2000/XP:仅仅在(&)前缀字符的位置下绘制一个下划线。不

12、绘制字符串中的任何其他字符。例如:输入字符串:A&bc&d通常输出:Abc&dDT_PREFIXONLY:_DT_RIGHT文字右对齐。DT_RTLREADING设置从右向左的阅读顺序(当文字是希伯来文或阿拉伯文时)。默认的阅读顺序是从左向右。DT_SINGLELINE使文字显示在一行。回车和换行符都无效。DT_TABSTOP设置TAB制表位。uFormat的158位指定TAB的字符宽度。默认TAB表示8个字符宽度。注意,DT_CALCRECT、DT_EXTERNALLEADING、DT_INTERNAL、DT_NOCLIP和DT_NOPREFIX不能和DT_TABSTOP一起用。DT_TOP

13、文字顶部对齐。DT_VCENTER文字垂直居中。仅当和DT_SINGLELINE一起使用时有效。DT_WORDBREAK自动换行。当文字超过右边界时会自动换行(不拆开单词)。回车符同样可以换行。DT_WORD_ELLIPSIS截去无法容纳的文字,并在末尾增加省略号。示例:以下范例在屏幕中央输出字符串“HelloWorld”:#include#includevoidmain()屏幕颜色指绘制所经过的屏幕像素点的颜色。3.图像颜色是指通过IMAGE对象中的图像的颜色。4.当前填充颜色是指通过setfillstyle设置的用于当前填充的颜色。5.查看全部的三元光栅操作码请点这里:三元光栅操作码。示例

14、:以下局部代码将屏幕(0,0)起始的100x100的图像拷贝至(200,200)位置:IMAGEimg;getimage(&img,0,0,100,100);putimage(200,200,&img);这个函数用于调整指定绘图设备的尺寸。voidResize(IMAGE*pImg,intwidth,intheight);参数:pImg指定要调整尺寸的绘图设备。如果为NULL,则表示默认绘图窗口。width指定绘图设备的宽度。height指定绘图设备的高度。这个函数用于旋转IMAGE中的绘图内容。voidrotateimage(IMAGE*dstimg,IMAGE*srcimg,doubler

15、adian,COLORREFbkcolor=BLACK,boolautosize=false,boolhighquality=true);参数:dstimg指定目标IMAGE对象指针,用来保存旋转后的图像。srcimg指定原IMAGE对象指针。radian指定旋转的弧度。bkcolor指定旋转后产生的空白区域的颜色。默认为黑色。autosize指定目标IMAGE对象是否自动调整尺寸以完全容纳旋转后的图像。默认为false。srcimg指定是否采用高质量的旋转。在追求性能的场合请使用低质量旋转。默认为true。示例:以下示例加载图片C:并旋转30度(PI/6),然后显示在左上角:#include

16、#include#voidmain()/绘图环境初始化initgraph(640,480);/定义图像IMAGEimg1,img2;/从文件加载图像loadimage(&img1,_T(C:);/旋转图像30度(PI/6)rotateimage(&img2,&img1,PI/6);/显示旋转后的图像putimage(0,0,&img2);/按任意键退出getch();closegraph();这个函数用于保存绘图内容至图片文件。voidsaveimage(LPCTSTRstrFileName,IMAGE*pImg=NULL);参数:strFileName指定文件名。pImg指向的图片将保存到该

17、文件中,图片以BMP格式保存,已存在的文件将被覆盖。pImg指向IMAGE对象的指针。如果为NULL,表示绘图窗口。示例:以下示例保存绘图窗口的内容为D::#include#includevoidmain()/绘图环境初始化initgraph(640,480);/绘制图像outtextxy(100,100,HelloWorld!);/保存绘制的图像saveimage(D:);/按任意键退出getch();closegraph();这个函数用于设定当前的绘图设备。voidSetWorkingImage(IMAGE*pImg=NULL);参数:pImg绘图设备指针。如果为NULL,表示绘图设备为默

18、认绘图窗口。说明:如果需要对某个IMAGE做绘图操作,可以通过该函数将其设置为当前的绘图设备,之后所有的绘图语句都会绘制在该IMAGE上面。将参数置为NULL可恢复对默认绘图窗口的绘图操作。示例:#include#includevoidmain()/初始化绘图窗口initgraph(640,480);/创建200x200的img对象IMAGEimg(200,200);/设置绘图目标为img对象SetWorkingImage(&img);/以下绘图操作都会绘制在img对象上面line(0,100,200,100);line(100,0,100,200);circle(100,100,50);/设

19、置绘图目标为绘图窗口SetWorkingImage();/将img对象显示在绘图窗口中putimage(220,140,&img);/按任意键退出getch();closegraph();三元光栅操作码这篇补充文档列出了putimage函数支持的所有三元光栅操作码。三元光栅操作码定义了源图像与屏幕图像的位合并形式,这个合并形式是以下三个操作数对应像素的布尔运算:操作数含义D屏幕图像P当前填充颜色S源图像布尔运算符包括以下几种:操作含义a位的AND运算(双目运算)n位的NOT运算(单目运算)o位的OR运算(双目运算)x位的XOR运算(双目运算)所有的布尔操作都采用逆波兰表示法,例如,“当前填充颜

20、色or源图像”可表示为:PSo。(当然SPo也是等价的,这里只列举出了其中一种等价格式)三元光栅操作码是_int32类型,其高位字是布尔操作索引,低位字是操作码。布尔操作索引的16个位中,高8位用0填充,低8位是当前填充颜色、源图像和屏幕的布尔操作结果。例如,PSo和DPSoo的操作索引如下:PSDPSoDPSoo0000000101010110111110011101111101111111操作索引:00FCh00FEh上例中,PSo的操作索引是00FC(从下往上读),DPSoo的是00FE。这些值定义了相应的三元光栅操作码在“三元光栅操作码”表格中的位置,PSo在252(00FCh)行,D

21、PSoo在254(00FEh)行。常用的三元光栅操作码已经定义了常量名,程序中可以直接使用。三元光栅操作码布尔功能(16进制)光栅操作(16进制)布尔功能的逆波兰表示法常量名00000000420BLACKNESS0100010289DPSoon0200020C89DPSona03000300AAPSon0400040C88SDPona05000500A9DPon0600060865PDSxnon07000702C5PDSaon0800080F08SDPnaa0900090245PDSxon0A000A0329DPna0B000B0B2APSDnaon0C000C0324SPna0D000D0

22、B25PDSnaon0E000E08A5PDSonon0F000F0001Pn1000100C85PDSona11001100A6DSonNOTSRCERASE1200120868SDPxnon13001302C8SDPaon1400140869DPSxnon15001502C9DPSaon1600165CCAPSDPSanaxx1700171D54SSPxDSxaxn1800180D59SPxPDxa1900191CC8SDPSanaxn1A001A06C5PDSPaox1B001B0768SDPSxaxn1C001C06CAPSDPaox1D001D0766DSPDxaxn1E001E01

23、A5PDSox1F001F0385PDSoan2000200F09DPSnaa2100210248SDPxon2200220326DSna2300230B24SPDnaon2400240D55SPxDSxa2500251CC5PDSPanaxn26002606C8SDPSaox2700271868SDPSxnox2800280369DPSxa29002916CAPSDPSaoxxn2A002A0CC9DPSana2B002B1D58SSPxPDxaxn2C002C0784SPDSoax2D002D060APSDnox2E002E064APSDPxox2F002F0E2APSDnoan30003

24、0032APSna3100310B28SDPnaon3200320688SDPSoox3300330008SnNOTSRCCOPY34003406C4SPDSaox3500351864SPDSxnox36003601A8SDPox3700370388SDPoan380038078APSDPoax3900390604SPDnox3A003A0644SPDSxox3B003B0E24SPDnoan3C003C004APSx3D003D18A4SPDSonox3E003E1B24SPDSnaox3F003F00EAPSan4000400F0APSDnaa4100410249DPSxon4200420D5DSDxPDxa4300431CC4SPDSanaxn4400440328SDnaSRCERASE4500450B29DPSnaon46004606C6DSPDaox470047076APSDPxaxn4800480368SDPxa49004916C5PDSPDaoxxn4A004A0789DPSDoax4B004B0605PDSnox4C

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2