-相关信息:
-作者:misakamm
-Blog:http://misakamm.com
-Mail:misakamm[at]gmail[dot]com
-
-更新历史:
-15.04
-★修正重绘时资源泄露的bug
-★文档和部分函数细节调整,增加支持的vc2013编译器
-★调整发布目录和编译脚本命名
-
-13.04
-★文档和部分函数细节调整,调整默认支持的编译器
-
-13.03
-★画圆/椭圆/弧函数增加浮点版本
-★填充函数增加按颜色区域填充(类似画图的油漆桶功能)
-★修正IMAGE初始化背景色不是纯黑色
-★修正第二次initgraph的状态错误
-★源代码结构细调,抽离数据结构实现
-
-13.02
-★图形效率优化
-★getch特殊键响应不正常修正
-★修正keystate状态错误
-
-13.01
-★对mouse_msg友好化
-
-12.12
-★增加putimage_withalpha
-★修正ege_puttexture贴图bug
-
-12.11
-★增加对VC2012的支持
-★发布文件分类方式调整
-
-12.08
-★delay_fps/delay_jfps增加浮点帧率支持
-★修正文档已知错误
-
-12.06
-★新增函数xyprintf/rectprintf
-★修正png处理alpha为0的像素的方案
-★修正对带alpha的图片的贴图支持
-★增加离线示例和在线示例
-★vs2010编译错误修正
-★rgb2gray函数修正
-
-12.05
-★inputbox_getline函数修正
-★mousemove消息参数修正
-★增加发布包中的示例
-
-12.04
-★库函数调整较大,去除所有大写字母开头的函数,旧程序基本都需要改动才能正常编译
-★mingw编译参数有变,增加链接库msimg32
-★不允许使用IMAGE,全部改用PIMAGE,使用newimage/delimage构造和删除
-★颜色全部统一为ARGB格式,不要使用宏RGB,要用EGERGB代替(否则红蓝颠倒)
-★增加带aa的绘图
-★增加渐变填充
-★增加纹理概念,增加简单的纹理贴图
-★修正若干bugs(主要的是鼠标移动消息参数不正确)
-★文档增加动画示例
-★增加支持64位静态库(仅vc9/vc10)
-★去除原有的编译警告
-★增加部分函数过时警告,不屏蔽vs的过时警告
-★示例代码更新及增加
-★增加邮件列表通讯讨论https://lists.sourceforge.net/lists/listinfo/tcgraphics-faqs
-
-12.03 stable 稳定版 svn89
-★调整版本命名方式(年.月,像12.03即12年三月发布)
-★调整编译参数
-★默认标题风格调整
-★源代码目录结构调整
-
-2012年:
-0107:
-★对objc++编译做兼容
-★部分函数风格调整
-★增加控件button(未完善,测试版)
-
-2011年:
-0724:
-★Bug修正
-★解决在vs2010下编译不正确的问题
-★fix 在 linux wine下窗口移动困难的问题
-
-0602:
-★增加GUI
-★修正部分png读取错误
-★调整getkey函数,增加配对的kbmsg函数
-★增加getmouse函数
-★增加setcaption函数
-★版本更新为20110602 V1.0.1 Beta
-
-0520:
-★调整头文件,以使兼容性更好,减少链接出错
-★GetFPS函数去掉参数
-★版本更新为20110520 V0.3.8 Release
-
-0416:
-★增加png图片格式的读写函数(读取仍然用getimage,保存用savepng)
-★增加压缩解压函数(ege_compress/ege_uncompress/ege_uncompress_size)
-★版本更新为20110416 V0.3.8 Beta
-
-0414:
-★修正拖动时,窗口可能会漂移的问题
-★重绘效率优化
-★增加 INIT_LOCKWINDOW
-★批量绘图函数改名为窗口锁定函数(WindowLock/WindowUpdate/WindowUnlock),原函数仍然能使用
-★IMAGE 类增加 getdc 接口以便GDI操作(仅可用于Blt操作其它操作慎用)
-★VC6库改用/MT编译以便多线程编程
-★版本更新为20110414 V0.3.7 Release
-0401:
-★增加drawlines和drawbezier函数,优化drawpoly的效率
-★增加对设置为屏幕保护程序的支持
-★增加安装程序
-★增加WM_MOUSEWHEEL宏定义以防在VC6上编译出错
-★文档更新
-★版本更新为20110401 V0.3.6 Release
-
-0321:
-★更名为EGE,取代原EGE(Easy Graphics Engine)库
-★增加旋转缩放贴图函数(接口还可能变化,暂不推荐使用)
-★增加窗口尺寸自动修正(在分辨率变小强制窗口尺寸变小了,再变回大分辨率的时候)
-★版本更新为20110321 V0.3.5 Release
-
-0129:
-★修正头文件一个类型错误的问题
-★增加saveimage函数,用来保存图片(目前只支持bmp)
-★版本号更新为20110129 V0.3.4 Release
-
-2010年以前的更新记录:
-
-1213:
-★增加对基本音频播放的支持(wav, mp3, midi)
-★版本号更新为20101213 V0.3.3 Release
-
-1212:
-★更新文档
-★增加独立下载库和帮助文档
-★版本号更新为20101207 V0.3.2 Release
-
-1207:
-★修正图形更新同步时可能偶然发生无法更新的情况
-★增加setbkcolor_f函数,功能是仅设置背景颜色,
- 仅当调用cleardevice时才使用这个颜色一次性清除屏幕
-★提升了重绘性能,并修正一个资源泄露的问题
-★增加swappage函数,实现双缓冲模式
-
-1122:
-★调整GetMousePos初始化坐标
-★修正鼠标滚轮坐标不正确的问题
-★随机函数改用专业算法,并增加randomf函数
-★增加3D数学函数
-★增加3D向量类
-★修正文档错误,补充没加到文档的函数
-★版本号改为20101122 V0.3.1 Release
-
-1118:
-★修正了三个新贴图函数的BUG
-★增加了outtextrect, setfontbkcolor
-★增加了logo显示
-★修正鼠标消息接收时内容不全的问题
-★修正多次开关批量绘图时可能会卡死的BUG
-★相应更新文档
-★版本号改为20101118 V0.3.0 Release
-
-1113:
-★对imagefilter_blurring函数调整参数次序,并增加默认参数,以使其使用更方便
-★优化透明,半透明贴图效率
-
-1111:
-★增加三个函数支持透明/半透明贴图(putimage_transparent, putimage_alphablend, putimage_alphatransparent)
-★增加图像模糊函数(imagefilter_blurring)
-★版本号改为20101111 V0.2.5 Gamma
-
-1101:
-★调整putpixels,使得效率更高一些
-★修正部分绘图函数如rectangle不空心的BUG
-★增加INITGRAPH宏,以便于使用全局IMAGE时,抢先初始化
-★相应更新文档
-★版本号改为20101101 V0.2.4 Gamma
-
-1023:
-★增加putpixels函数,便于批量画点时提升速度
-★修正setbkcolor函数颜色不正确的BUG
-
-1013:
-★增加GetHInstance函数,以便作为读入资源时的参数
-★调整closegraph,以便close后再次init
-★修正setviewport在某个版本里误编辑的问题导致区域失效
-★textwidth和textheight增加单字符版本
-★修正总是隐藏控制台无法故意显示的问题
-★增加KEYMSG_FIRSTDOWN,便于实现按键按下一次仅响应一次的需求
-★修正相应的俄罗斯方块例子(因增加了KEYMSG_FIRSTDOWN的原因)
-
-1010:
-★增加ShowMouse函数,以控制鼠标是否隐藏
-★增加对VC2005的支持(不带SP1,打了SP1的不能编译通过,其实为了更稳定建议直接用VC2008)
-★增加IMAGE对象有效性检查,以便更容易发现指针错误
-★相应更新文档,并修正文档中部分已发现的问题
-★调整initgraph,允许二次调用,并修改窗口大小(这时原内容会擦除,但除了size和viewport以外,其它属性不变)
-★修正批量画图多次调用时可能发生的死锁问题
-★增加初始化IMAGE在initgraph之前会直接报错并强制关闭程序
-★版本号改为20101010 V0.2.2 Gamma
+
+主页->关于
+
-0930:
-★调整delay_fps,使得帧数更稳定些
-★修正getch, kbhit带参数时的一些问题
-★改为使用SHOW_CONSOLE才显示控制台窗口,默认不显示,详见PDF内“超简单的使用预览”
-★增加getpixel_f, putpixel_f,为原函数的加速版(但调用时有风险,但其实原来的已经足够快,现在的已经快不了多少)
-★增加API_Sleep函数用于调用原来的原版Sleep函数
-★增加delay_jfps用于自动控制跳帧(跳多少看流畅程度,如果绘图不复杂计算量少,一般不会跳)
-★GetFPS函数增加一个可选参数,以便得到实际绘图帧率(在跳帧模式下)
-★增加一些方便在CFree下编程的特性,如WinMain,详见PDF内“超简单的使用预览”
-★基本完成pdf,并加入了几个比较好的程序源代码,包含一个俄罗斯方块程序
-★版本名改为20101001 V0.2 Gamma
+Easy Graphics Engine
-0928:
-★前一次修改后对效率的调整和优化
-★修正InputBoxGetLine, getch, GetMouseMsg的BUG
-★调整延迟函数的逻辑,使得在相同帧率下能更流畅
-★增加fclock函数
-★增加mingw3.4.5编译器使用的静态库,即能支持在CFree下编译
-★增加pdf格式的说明文档(测试版,部分函数还没有补充完成)
-★版本名改为0.2 Beta
-0926:
-★大幅修改,使程序不会因为鼠标拖动而停下
-★即使不调用delay族函数也会更新窗口,只是并不流畅,所以如果你想要流畅动画,推荐手工调用delay族函数
-★增加GetFPS函数,可以随时获取当前帧率
-★GetLineInputBox 更名为 InputBoxGetLine,以便于增加类似InputBoxGetNumber时,相同前缀容易查找
-★getch和kbhit改为宏,以防与conio.h库冲突,当包含conio.h时,会自动忽略
-★版本名改为0.2 Alpha
-注:delay族函数在graphics.h头文件的最顶处有相关的说明,就是指Sleep, delay, delay_ms, delay_fps, getch, GetMouseMsg
+相关信息:
-0923:
-★修正getch的行为,以保持非特殊按键键码与CRT(C Run-Time)的getch一致
+
+
+作者:misakamm
+Blog:http://misakamm.com
+Mail:misakamm@gmail.com
+
+
-0922:
-★增加GetLineInputBox在图形界面下进行字符串输入,使用回车确认输入,ESC取消输入(输入为空)
-★扩展getch和kbhit函数,使得能根据参数把按键放开的事件也能取得,两个函数需要组合使用
-0921:
-★增加void setinitmode(int mode, int x = CW_USEDEFAULT, int y = CW_USEDEFAULT)
-第一个参数mode=0为普通窗口,1为无边框窗口,xy是初始窗口坐标,mode为1时,用于方便全屏模式
-此函数必须在initgraph前调用,否则无效
-★initgraph函数,若窗口大小均指定为-1,-1,则使用屏幕大小,用于方便全屏,全屏后可用getwidth和getheight取得窗口大小
-★VC下使用HIDE_CONSOLE可以使控制台窗口彻底消失,使用方法如下:
-#define HIDE_CONSOLE
-#include "graphics.h"
-要注意的是,#define HIDE_CONSOLE必须在graphics.h的前面
-★改为Beta版本
+更新历史:
-0920:
-★修正若干BUG
-0918:
-★第一版发布测试
+
+
+
+版本 | 更新日志 |
+ 20.08 |
+ 新增功能
+ 1. [2019-10-26] 提供对 VS2019 的支持
+ 2. [2019-10-26] 引入 CMAKE 构建系统,支持 MSVC 系列和 MinGW-W64 版本编译器
+ 3. [2020-04-14] 在 key_code_e 中新增小键盘符号键键码
+ 4. [2020-04-25] 新增使用 ARGB 的 ege_drawtext() 文本输出函数
+ 5. [2020-04-28] 支持加载 PNG 资源文件
+ 6. [2020-05-13] 新增 movewindow() 和 resizewindow() 函数,用于调整窗口大小和位置
+ 7. [2020-05-13] 新增 getHDC() 函数,支持获取图像及窗口帧缓冲区的 HDC 句柄
+ 8. [2020-05-13] 新增 getGraphicsVer(),获取 ege 库版本
+ 9. [2020-06-27] 新增 seticon() 函数,支持通过传入图标资源 ID 设置 EGE 窗口图标,可在 initgraph() 之前调用
+ 10. [2020-06-27] 新增 INIT_UNICODE 初始化模式,允许创建 Unicode 窗口
+ 11. [2020-07-02] 新增不创建窗口而直接对图像进行绘图的功能,可在 initgraph() 之前调用 newimage()
+ 12. [2020-07-07] 新增 putimage_alphafilter() 函数
+ 13. [2020-07-26] 新增 putpixel_withalpha/putpixel_withalpha_f 绘制带透明通道像素点
+ 14. [2020-07-26] 新增 alphablend() ARGB 颜色混合函数
+ 15. [2020-08-12] 添加 LGPL 开源许可证
+
+功能变更:
+ 1. [2020-04-06] 项目内移除 gdiplus 依赖
+ 2. [2020-05-19] 使用 Simsun(宋体)作为默认字体
+ 3. [2020-07-02] 创建图像或调用 resize 时,支持将图像宽高设置为 0
+ 4. [2020-07-03] resize() 不自动对图像以背景色填充,以提高效率
+ 5. [2020-07-04] EGERGB() 宏生成的 RGB 颜色透明通道由 0 改为 255
+ 6. [2020-07-07] putimage_withalpha(), putimage_alphablend(), putimage_alphatransparent() 使用误差更小的 Alpha 通道混合算法
+ 7. [2020-07-07] putimage_transparent() 改为仅比较 RGB 通道,忽略 Alpha 通道
+ 8. [2020-07-19] 为 getimage() 增加 NULL 参数检查
+ 9. [2020-07-26] color_t 的定义由 unsigned int 改为 DWORD(unsigned long)
+ 10. [2020-07-26] initgraph() 不使用默认参数而改为两个重载
+
+错误修复:
+ 1. [2019-02-02] 修复无法接收到 key_msg_char 类型消息的错误
+ 2. [2019-02-04] 修复 putimage_xxx 系列函数在裁剪区域外绘图的错误
+ 3. [2020-03-19] 修复绘图图像时绘制区域比裁剪区域小 1 行 1 列的计算错误
+ 4. [2020-04-12] 修复 clearviewport() 使用填充颜色对视口区域进行清除的错误
+ 5. [2020-04-13] 修复 setlinewidth() 无法立即生效,需要等到 setcolor() 调用 才生效的错误
+ 6. [2020-04-13] 修复 setlinestyle() 自定义样式不正确的错误
+ 7. [2020-04-13] 修复 ege_setalpha() 传入 NULL 参数时会发生崩溃的错误
+ 8. [2020-04-25] 修复当使用由 GDI 实现的绘图函数时,如果设置的颜色中 Alpha 值不为 0 会出现图形颜色不正常的错误
+ 9. [2020-05-19] 修复 getfont() 中,在 LOGFONTW 环境下使用 LOGFONTA 的错误 |
+ 19.01 | 1. 增加对 VS2017 的支持
+ 2. 修复在 Windows 1809 及之后的版本上发生崩溃的错误 |
+ 15.04 | 1.修正重绘时资源泄露的 bug
+ 2.文档和部分函数细节调整,增加对 VC2013 的支持,增加对 VC2015 的支持
+ 3.调整发布目录和编译脚本命名 |
+ 13.04 | 1.文档和部分函数细节调整,调整默认支持的编译器 |
+ 13.03 | 1.画圆/椭圆/弧函数增加浮点版本
+ 2.填充函数增加按颜色区域填充(类似画图的油漆桶功能)
+ 3.修正 IMAGE 初始化背景色不是纯黑色
+ 4.修正第二次 initgraph 的状态错误
+ 5.源代码结构细调,抽离数据结构实现
+ |
+ 13.02 | 1.图形效率优化
+ 2.getch 特殊键响应不正常修正
+ 3.修正 keystate 状态错误 |
+ 13.01 | 1.对 mouse_msg 友好化 |
+ 12.12 | 1.增加 putimage_withalpha
+ 2.修正 ege_puttexture 贴图 bug |
+ 12.11 | 1.增加对 VC2012 的支持
+ 2.发布文件分类方式调整 |
+ 12.08 | 1.delay_fps/delay_jfps 增加浮点帧率支持
+ 2.修正文档已知错误 |
+ 12.06 | 1.新增函数 xyprintf/rectprintf
+ 2.修正 png 处理 alpha 为 0 的像素的方案
+ 3.修正对带 alpha 的图片的贴图支持
+ 4.增加离线示例和在线示例
+ 5.vs2010 编译错误修正
+ 6.rgb2gray 函数修正 |
+ 12.05 | 1.inputbox_getline 函数修正
+ 2.mousemove 消息参数修正
+ 3.增加发布包中的示例 |
+ 12.04 | 1.库函数调整较大,去除所有大写字母开头的函数,旧程序基本都需要改动才能正常编译
+ 2.mingw 编译参数有变,增加链接库 msimg32
+ 3.不允许使用 IMAGE,全部改用 PIMAGE,使用 newimage/delimage 构造和删除
+ 4.颜色全部统一为 ARGB 格式,不要使用宏 RGB,要用 EGERGB 代替(否则红蓝颠倒)
+ 5.增加带 Anti-aliasing 的绘图
+ 6.增加渐变填充
+ 7.增加纹理概念,增加简单的纹理贴图
+ 8.修正若干 bugs(主要的是鼠标移动消息参数不正确)
+ 9.文档增加动画示例
+ 10.增加支持 64 位静态库(仅vc9/vc10)
+ 11.去除原有的编译警告
+ 12.增加部分函数过时警告,不屏蔽 vs 的过时警告
+ 13.示例代码更新及增加
+ 14.增加邮件列表通讯讨论 https://lists.sourceforge.net/lists/listinfo/tcgraphics-faqs
+ |
+ 12.03 | 1.调整版本命名方式(年.月,像12.03即12年三月发布)
+ 2.调整编译参数
+ 3.默认标题风格调整
+ 4.源代码目录结构调整 |
+ 2012-01-07 | 1.对objc++编译做兼容
+ 2.部分函数风格调整
+ 3.增加控件 button(未完善,测试版) |
+ 2011-07-24 | 1.Bug 修正
+ 2.解决在 vs2010 下编译不正确的问题
+ 3.fix 在 linux wine下窗口移动困难的问题 |
+ 2011-06-02 | 1.增加 GUI
+ 2.修正部分 png 读取错误
+ 3.调整 getkey 函数,增加配对的 kbmsg 函数
+ 4.增加 getmouse 函数
+ 5.增加 setcaption 函数
+ 6.版本更新为20110602 V1.0.1 Beta |
+ 2011-05-20 | 1.调整头文件,以使兼容性更好,减少链接出错
+ 2.GetFPS 函数去掉参数
+ 3.版本更新为20110520 V0.3.8 Release |
+ 2011-04-16 | 1.增加 png 图片格式的读写函数(读取仍然用 getimage,保存用 savepng)
+ 2.增加压缩解压函数(ege_compress/ege_uncompress/ege_uncompress_size)
+ 3.版本更新为20110416 V0.3.8 Beta |
+ 2011-04-14 | 1.修正拖动时,窗口可能会漂移的问题
+ 2.重绘效率优化
+ 3.增加 INIT_LOCKWINDOW
+ 4.批量绘图函数改名为窗口锁定函数(WindowLock/WindowUpdate/WindowUnlock),原函数仍然能使用
+ 5.IMAGE 类增加 getdc 接口以便 GDI 操作(仅可用于Blt操作其它操作慎用)
+ 6.VC6库改用/MT编译以便多线程编程
+ 7.版本更新为20110414 V0.3.7 Release |
+ 2011-04-01 | 1.增加 drawlines 和 drawbezier 函数,优化 drawpoly 的效率
+ 2.增加对设置为屏幕保护程序的支持
+ 3.增加安装程序
+ 4.增加 WM_MOUSEWHEEL 宏定义以防在 VC6 上编译出错
+ 5.文档更新
+ 6.版本更新为20110401 V0.3.6 Release |
+ 2011-03-21 | 1.更名为 EGE,取代原 EGE(Easy Graphics Engine) 库
+ 2.增加旋转缩放贴图函数(接口还可能变化,暂不推荐使用)
+ 3.增加窗口尺寸自动修正(在分辨率变小强制窗口尺寸变小了,再变回大分辨率的时候)
+ 4.版本更新为20110321 V0.3.5 Release |
+ 2011-01-29 | 1.修正头文件一个类型错误的问题
+ 2.增加saveimage函数,用来保存图片(目前只支持bmp)
+ 3.版本号更新为20110129 V0.3.4 Release |
+ 2010-12-13 | 1.增加对基本音频播放的支持(wav, mp3, midi)
+ 2.版本号更新为20101213 V0.3.3 Release |
+ 2010-12-12 | 1.更新文档
+ 2.增加独立下载库和帮助文档
+ 3.版本号更新为20101207 V0.3.2 Release |
+ 2010-12-07 | 1.修正图形更新同步时可能偶然发生无法更新的情况
+ 2.增加 setbkcolor_f 函数,功能是仅设置背景颜色,
+ 仅当调用 cleardevice 时才使用这个颜色一次性清除屏幕
+ 3.提升了重绘性能,并修正一个资源泄露的问题
+ 4.增加 swappage 函数,实现双缓冲模式 |
+ 2010-11-22 | 1.调整 GetMousePos 初始化坐标
+ 2.修正鼠标滚轮坐标不正确的问题
+ 3.随机函数改用专业算法,并增加 randomf 函数
+ 4.增加 3D 数学函数
+ 5.增加 3D 向量类
+ 6.修正文档错误,补充没加到文档的函数
+ 7.版本号改为20101122 V0.3.1 Release |
+ 2010-11-18 | 1.修正了三个新贴图函数的 BUG
+ 2.增加了 outtextrect, setfontbkcolor
+ 3.增加了 logo 显示
+ 4.修正鼠标消息接收时内容不全的问题
+ 5.修正多次开关批量绘图时可能会卡死的 BUG
+ 6.相应更新文档
+ 7.版本号改为20101118 V0.3.0 Release |
+ 2010-11-13 | 1.对 imagefilter_blurring 函数调整参数次序,并增加默认参数,以使其使用更方便
+ 2.优化透明,半透明贴图效率 |
+ 2010-11-11 | 1.增加三个函数支持透明/半透明贴图 (putimage_transparent, putimage_alphablend, putimage_alphatransparent)
+ 2.增加图像模糊函数 (imagefilter_blurring)
+ 3.版本号改为20101111 V0.2.5 Gamma |
+ 2010-11-01 | 1.调整 putpixels,使得效率更高一些
+ 2.修正部分绘图函数如 rectangle 不空心的 BUG
+ 3.增加 INITGRAPH 宏,以便于使用全局 IMAGE 时,抢先初始化
+ 4.相应更新文档
+ 5.版本号改为 20101101 V0.2.4 Gamma |
+ 2010-10-23 | 1.增加 putpixels 函数,便于批量画点时提升速度
+ 2.修正setbkcolor函数颜色不正确的BUG |
+ 2010-10-13 | 1.增加 GetHInstance 函数,以便作为读入资源时的参数
+ 2.调整 closegraph,以便 close 后再次 init
+ 3.修正 setviewport 在某个版本里误编辑的问题导致区域失效
+ 4.textwidth 和 textheight 增加单字符版本
+ 5.修正总是隐藏控制台无法故意显示的问题
+ 6.增加 KEYMSG_FIRSTDOWN,便于实现按键按下一次仅响应一次的需求
+ 7.修正相应的俄罗斯方块例子(因增加了 KEYMSG_FIRSTDOWN 的原因) |
+ 2010-10-10 | 1.增加 ShowMouse 函数,以控制鼠标是否隐藏
+ 2.增加对 VC2005 的支持(不带 SP1,打了 SP1 的不能编译通过,其实为了更稳定建议直接用 VC2008)
+ 3.增加 IMAGE 对象有效性检查,以便更容易发现指针错误
+ 4.相应更新文档,并修正文档中部分已发现的问题
+ 5.调整 initgraph,允许二次调用,并修改窗口大小(这时原内容会擦除,但除了 size 和 viewport 以外,其它属性不变)
+ 6.修正批量画图多次调用时可能发生的死锁问题
+ 7.增加初始化 IMAGE 在 initgraph 之前会直接报错并强制关闭程序
+ 8.版本号改为 20101010 V0.2.2 Gamma |
+ 2010-09-30 | 1.调整 delay_fps,使得帧数更稳定些
+ 2.修正 getch, kbhit 带参数时的一些问题
+ 3.改为使用 SHOW_CONSOLE 才显示控制台窗口,默认不显示,详见 PDF 内“超简单的使用预览”
+ 4.增加 getpixel_f, putpixel_f,为原函数的加速版(但调用时有风险,但其实原来的已经足够快,现在的已经快不了多少)
+ 5.增加 API_Sleep 函数用于调用原来的原版 Sleep 函数
+ 6.增加 delay_jfps 用于自动控制跳帧(跳多少看流畅程度,如果绘图不复杂计算量少,一般不会跳)
+ 7.GetFPS 函数增加一个可选参数,以便得到实际绘图帧率(在跳帧模式下)
+ 8.增加一些方便在 CFree 下编程的特性,如 WinMain,详见 PDF 内“超简单的使用预览”
+ 9.基本完成 pdf,并加入了几个比较好的程序源代码,包含一个俄罗斯方块程序
+ 10.版本名改为 20101001 V0.2 Gamma |
+ 2010-09-28 | 1.前一次修改后对效率的调整和优化
+ 2.修正 InputBoxGetLine, getch, GetMouseMsg 的 BUG
+ 3.调整延迟函数的逻辑,使得在相同帧率下能更流畅
+ 4.增加 fclock 函数
+ 5.增加 mingw3.4.5 编译器使用的静态库,即能支持在 CFree 下编译
+ 6.增加 pdf 格式的说明文档(测试版,部分函数还没有补充完成)
+ 7.版本名改为 0.2 Beta |
+ 2010-09-26 | 1.大幅修改,使程序不会因为鼠标拖动而停下
+ 2.即使不调用 delay 族函数也会更新窗口,只是并不流畅,所以如果你想要流畅动画,推荐手工调用 delay 族函数
+ 3.增加 GetFPS 函数,可以随时获取当前帧率
+ 4.GetLineInputBox 更名为 InputBoxGetLine,以便于增加类似 InputBoxGetNumber 时,相同前缀容易查找
+ 5.getch 和 kbhit 改为宏,以防与 conio.h 库冲突,当包含 conio.h 时,会自动忽略
+ 6.版本名改为 0.2 Alpha
+ 注:delay 族函数在 graphics.h 头文件的最顶处有相关的说明,就是指 Sleep, delay, delay_ms, delay_fps, getch, GetMouseMsg |
+ 2010-09-23 | 1.修正 getch 的行为,以保持非特殊按键键码与 CRT(C Run-Time) 的 getch 一致 |
+ 2010-09-22 | 1.增加 GetLineInputBox 在图形界面下进行字符串输入,使用回车确认输入,ESC 取消输入(输入为空)
+ 2.扩展 getch 和 kbhit 函数,使得能根据参数把按键放开的事件也能取得,两个函数需要组合使用
+ |
+ 2010-09-21 | 1.增加 void setinitmode(int mode, int x = CW_USEDEFAULT, int y = CW_USEDEFAULT)
+ 第一个参数 mode = 0 为普通窗口,1 为无边框窗口,xy 是初始窗口坐标,mode 为 1 时,用于方便全屏模式
+ 此函数必须在 initgraph 前调用,否则无效
+ 2.initgraph 函数,若窗口大小均指定为 -1,-1,则使用屏幕大小,用于方便全屏,全屏后可用 getwidth 和 getheight 取得窗口大小
+ 3.VC 下使用 HIDE_CONSOLE 可以使控制台窗口彻底消失,使用方法如下:
+ #define HIDE_CONSOLE
+ #include <graphics.h>
+ 要注意的是,#define HIDE_CONSOLE 必须在 graphics.h 的前面
+ 4.改为Beta版本 |
+ 2010-09-20 | 1.修正若干 BUG |
+ 2010-09-18 | 1.第一版发布测试 |
+
diff --git a/man/api/col/EGEACOLOR.htm b/man/api/col/EGEACOLOR.htm
index 0310c692..035193ac 100644
--- a/man/api/col/EGEACOLOR.htm
+++ b/man/api/col/EGEACOLOR.htm
@@ -1,31 +1,36 @@
EGEACOLOR
+
-主页->库函数目录->颜色表示及相关函数->EGEACOLOR
+主页 / 库函数目录 / 颜色 / EGEACOLOR
-功能:
-EGEACOLOR 宏用于通过透明度和RGB颜色合成ARGB颜色。
+功能:
-声明:
+EGEACOLOR 宏用于将透明度和 RGB 颜色合成 ARGB 颜色。
+
+声明:
color_t EGEACOLOR(
- BYTE byAlpha, // 颜色的透明度
- color_t rgbColor // 颜色的红色部分
- );
+ BYTE alpha, // 透明度
+ color_t rgbColor // RGB 颜色
+);
+参数:
+
+alpha
+颜色的透明度,取值范围:0 到 255,数值越小越透明。0 表示完全透明,255 表示不透明。
-参数:
-byAlpha
-颜色的透明度,取值范围:0~255,0表示完全透明,255表示不透明。
rgbColor
-RGB颜色值。
+RGB 颜色值。
+
+返回值:
+
+合成的 ARGB 颜色。
-返回值:
-返回合成的ARGB颜色。
+示例:
-示例:
(无)
diff --git a/man/api/col/EGEAGRAY.htm b/man/api/col/EGEAGRAY.htm
index d0763fa5..f7fe9395 100644
--- a/man/api/col/EGEAGRAY.htm
+++ b/man/api/col/EGEAGRAY.htm
@@ -1,32 +1,37 @@
EGEAGRAY
+
-主页->库函数目录->颜色表示及相关函数->EGEAGRAY
+主页 / 库函数目录 / 颜色 / EGEAGRAY
-功能:
-EGEAGRAY 宏用于通过透明度和灰度值生成对应的ARGB颜色。
+功能:
-声明:
+EGEAGRAY 宏用于将透明度和灰度值合成对应的ARGB颜色。
+
+声明:
color_t EGEAGRAY(
- BYTE byAlpha, // 颜色的透明度
- BYTE byGray // 颜色的灰度值
- );
+ BYTE alpha, // 透明度
+ BYTE gray // 灰度值
+);
+参数:
+
+alpha
+颜色的透明度,取值范围:0 到 255,0表示完全透明,255表示不透明。
+
+gray
+颜色的灰度值,取值范围:0 到 255。
+
+返回值:
-参数:
-byAlpha
-颜色的透明度,取值范围:0~255,0表示完全透明,255表示不透明。
-byGray
-颜色的灰度值,取值范围:0~255。
+合成的ARGB灰色。
-返回值:
-返回合成的ARGB灰色。
+示例:
-示例:
(无)
diff --git a/man/api/col/EGEARGB.htm b/man/api/col/EGEARGB.htm
index 990fd2db..f92ff53c 100644
--- a/man/api/col/EGEARGB.htm
+++ b/man/api/col/EGEARGB.htm
@@ -1,37 +1,44 @@
EGEARGB
+
-主页->库函数目录->颜色表示及相关函数->EGEARGB
+主页 / 库函数目录 / 颜色 / EGEARGB
-功能:
-EGEARGB 宏用于通过透明度和红、绿、蓝颜色分量合成颜色。
+功能:
-声明:
+EGEARGB 宏用于将透明度和红、绿、蓝颜色分量合成 ARGB 颜色。
+
+声明:
color_t EGERGBA(
- BYTE byAlpha, // 颜色的透明度
- BYTE byRed, // 颜色的红色部分
- BYTE byGreen, // 颜色的绿色部分
- BYTE byBlue // 颜色的蓝色部分
- );
+ BYTE alpha, // 透明度
+ BYTE red, // 红色分量
+ BYTE green, // 绿色分量
+ BYTE blue // 蓝色分量
+);
+参数:
+
+alpha
+颜色的透明度,取值范围:0 到 255,0表示完全透明,255表示不透明。
+
+red
+红色分量,取值范围:0 到 255。
+
+green
+绿色分量,取值范围:0 到 255。
+
+blue
+蓝色分量,取值范围:0 到 255。
+
+返回值:
-参数:
-byAlpha
-颜色的透明度,取值范围:0~255,0表示完全透明,255表示不透明。
-byRed
-颜色的红色部分,取值范围:0~255。
-byGreen
-颜色的绿色部分,取值范围:0~255。
-byBlue
-颜色的蓝色部分,取值范围:0~255。
+合成的 ARGB 颜色。
-返回值:
-返回合成的颜色。
+示例:
-示例:
(无)
diff --git a/man/api/col/EGECOLORA.htm b/man/api/col/EGECOLORA.htm
index bb8911ca..0c228764 100644
--- a/man/api/col/EGECOLORA.htm
+++ b/man/api/col/EGECOLORA.htm
@@ -1,31 +1,36 @@
EGECOLORA
+
-主页->库函数目录->颜色表示及相关函数->EGECOLORA
+主页 / 库函数目录 / 颜色 / EGECOLORA
-功能:
-EGECOLORA 宏用于通过RGB颜色和透明度合成ARGB颜色。
+功能:
-声明:
+EGECOLORA 宏用于将 RGB 颜色和透明度合成 ARGB 颜色。
+
+声明:
color_t EGECOLORA(
- color_t rgbColor, // RGB颜色
- BYTE byAlpha // 颜色的透明度
+ color_t rgbColor, // RGB 颜色
+ BYTE alpha // 透明度
);
+参数:
-参数:
rgbColor
-RGB颜色值。
-byAlpha
-颜色的透明度,取值范围:0~255,0表示完全透明,255表示不透明。
+RGB 颜色值。
+
+alpha
+颜色的透明度,取值范围:0 到 255,0 表示完全透明,255 表示不透明。
+
+返回值:
+
+合成的 ARGB 颜色。
-返回值:
-返回合成的ARGB颜色。
+示例:
-示例:
(无)
diff --git a/man/api/col/EGEGET_A.htm b/man/api/col/EGEGET_A.htm
index 75581e89..f4f100aa 100644
--- a/man/api/col/EGEGET_A.htm
+++ b/man/api/col/EGEGET_A.htm
@@ -1,25 +1,29 @@
EGEGET_A
+
-主页->库函数目录->颜色表示及相关函数->EGEGET_A
+主页 / 库函数目录 / 颜色 / EGEGET_A
-功能:
-EGEGET_A 宏用于返回指定颜色中的透明度。
+功能:
-声明:
-color_t EGEGET_A(color_t rgb);
+获取 ARGB 颜色中的透明度 alpha。
-参数:
-rgb
-指定的颜色。
+声明:
+color_t EGEGET_A(color_t color);
+参数:
-返回值:
-指定颜色中的透明度,值的范围 0~255。
+color
+ARGB 颜色。
+
+返回值:
+
+ARGB 颜色中的透明度,值的范围 0 到 255。
+
+示例:
-示例:
(无)
diff --git a/man/api/col/EGEGET_B.htm b/man/api/col/EGEGET_B.htm
index 20520dbd..ee3db228 100644
--- a/man/api/col/EGEGET_B.htm
+++ b/man/api/col/EGEGET_B.htm
@@ -1,25 +1,29 @@
EGEGET_B
+
-主页->库函数目录->颜色表示及相关函数->EGEGET_B
+主页 / 库函数目录 / 颜色 / EGEGET_B
-功能:
-EGEGET_B 宏用于返回指定颜色中的蓝色值。
+功能:
-声明:
-color_t EGEGET_B(color_t rgb);
+获取 ARGB 颜色中的蓝色分量。
-参数:
-rgb
-指定的颜色。
+声明:
+color_t EGEGET_B(color_t color);
+参数:
-返回值:
-指定颜色中的蓝色值,值的范围 0~255。
+color
+ARGB 颜色
+
+返回值:
+
+ARGB 颜色中的蓝色分量,值的范围 0 到 255。
+
+示例:
-示例:
(无)
diff --git a/man/api/col/EGEGET_G.htm b/man/api/col/EGEGET_G.htm
index 94a6a266..7e5e7711 100644
--- a/man/api/col/EGEGET_G.htm
+++ b/man/api/col/EGEGET_G.htm
@@ -1,25 +1,29 @@
EGEGET_G
+
-主页->库函数目录->颜色表示及相关函数->EGEGET_G
+主页 / 库函数目录 / 颜色 / EGEGET_G
-功能:
-EGEGET_G 宏用于返回指定颜色中的绿色值。
+功能:
-声明:
-color_t EGEGET_G(color_t rgb);
+获取 ARGB 颜色中的绿色分量。
-参数:
-rgb
-指定的颜色。
+声明:
+color_t EGEGET_G(color_t color);
+参数:
-返回值:
-指定颜色中的绿色值,值的范围 0~255。
+color
+ARGB 颜色。
+
+返回值:
+
+ARGB 颜色中的绿色分量,值的范围 0 到 255。
+
+示例:
-示例:
(无)
diff --git a/man/api/col/EGEGET_R.htm b/man/api/col/EGEGET_R.htm
index a86ecf39..5428e3b9 100644
--- a/man/api/col/EGEGET_R.htm
+++ b/man/api/col/EGEGET_R.htm
@@ -1,25 +1,29 @@
EGEGET_R
+
-主页->库函数目录->颜色表示及相关函数->EGEGET_R
+主页 / 库函数目录 / 颜色 / EGEGET_R
-功能:
-EGEGET_R 宏用于返回指定颜色中的红色值。
+功能:
-声明:
-color_t EGEGET_R(color_t rgb);
+获取 ARGB 颜色中的红色分量。
-参数:
-rgb
-指定的颜色。
+声明:
+color_t EGEGET_R(color_t color);
+参数:
-返回值:
-指定颜色中的红色值,值的范围 0~255。
+color
+ARGB 颜色。
+
+返回值:
+
+ARGB 颜色中的红色分量,值的范围 0 到 255。
+
+示例:
-示例:
(无)
diff --git a/man/api/col/EGEGRAY.htm b/man/api/col/EGEGRAY.htm
index cfbbf532..8be962e5 100644
--- a/man/api/col/EGEGRAY.htm
+++ b/man/api/col/EGEGRAY.htm
@@ -1,28 +1,32 @@
EGEGRAY
+
-主页->库函数目录->颜色表示及相关函数->EGEGRAY
+主页 / 库函数目录 / 颜色 / EGEGRAY
-功能:
-EGEGRAY 宏用于由灰度值生成对应的RGB灰色。
+功能:
-声明:
+由灰度值生成对应的 RGB 灰色。
+
+声明:
color_t EGEGRAY(
- BYTE byGray // 颜色的灰度值
+ BYTE gray // 颜色的灰度值
);
+参数:
+
+gray
+灰度值 ,取值范围:0 到 255。
+
+返回值:
-参数:
-byGray
-颜色的灰度值 ,取值范围:0~255。
+对应的 RGB 灰色。
-返回值:
-返回对应的RGB灰色。
+示例:
-示例:
(无)
diff --git a/man/api/col/EGEGRAYA.htm b/man/api/col/EGEGRAYA.htm
index 0635b0ec..750cb015 100644
--- a/man/api/col/EGEGRAYA.htm
+++ b/man/api/col/EGEGRAYA.htm
@@ -1,33 +1,38 @@
EGEGRAYA
+
-主页->库函数目录->颜色表示及相关函数->EGEGRAYA
+主页 / 库函数目录 / 颜色 / EGEGRAYA
-功能:
-EGEGRAYA 宏用于通过透明度和灰度值生成对应的ARGB颜色。
+功能:
-声明:
+由透明度和灰度值生成对应的 ARGB 颜色。
+
+声明:
color_t EGEGRAYA(
- BYTE byGray, // 颜色的灰度值
- BYTE byAlpha // 颜色的透明度
+ BYTE gray, // 灰度值
+ BYTE alpha // 透明度
);
+参数:
+
+gray
+灰度值,取值范围:0 到 255。
+
+alpha
+透明度,取值范围:0 到 255,0表示完全透明,255表示不透明。
+
-参数:
-byGray
-颜色的灰度值,取值范围:0~255。
-byAlpha
-颜色的透明度,取值范围:0~255,0表示完全透明,255表示不透明。
+返回值:
+合成的ARGB灰色。
-返回值:
-返回合成的ARGB灰色。
+示例:
-示例:
(无)
diff --git a/man/api/col/EGERGB.htm b/man/api/col/EGERGB.htm
index 9772c024..7f88604d 100644
--- a/man/api/col/EGERGB.htm
+++ b/man/api/col/EGERGB.htm
@@ -1,34 +1,40 @@
EGERGB
+
-主页->库函数目录->颜色表示及相关函数->EGERGB
+主页 / 库函数目录 / 颜色 / EGERGB
-功能:
-EGERGB 宏用于通过红、绿、蓝颜色分量合成颜色。
+功能:
-声明:
+将红、绿、蓝颜色分量合成 RGB 颜色。
+
+声明:
color_t EGERGB(
- BYTE byRed, // 颜色的红色部分
- BYTE byGreen, // 颜色的绿色部分
- BYTE byBlue // 颜色的蓝色部分
-);
+ BYTE red, // 红色分量
+ BYTE green, // 绿色分量
+ BYTE blue // 蓝色分量
+);
+参数:
+
+red
+红色分量,取值范围:0 到 255。
+
+green
+绿色分量,取值范围:0 到 255。
+
+blue
+蓝色分量,取值范围:0 到 255。
+
+返回值:
-参数:
-byRed
-颜色的红色部分,取值范围:0~255。
-byGreen
-颜色的绿色部分,取值范围:0~255。
-byBlue
-颜色的蓝色部分,取值范围:0~255。
+合成的 RGB 颜色。
-返回值:
-返回合成的颜色。
+示例:
-示例:
(无)
diff --git a/man/api/col/EGERGBA.htm b/man/api/col/EGERGBA.htm
index 285821b2..2013da09 100644
--- a/man/api/col/EGERGBA.htm
+++ b/man/api/col/EGERGBA.htm
@@ -1,37 +1,40 @@
EGERGBA
+
-主页->库函数目录->颜色表示及相关函数->EGERGBA
+主页 / 库函数目录 / 颜色 / EGERGBA
-功能:
+功能:
+
EGERGBA 宏用于通过红、绿、蓝颜色分量和透明度合成颜色。
-声明:
+声明:
color_t EGERGBA(
- BYTE byRed, // 颜色的红色部分
- BYTE byGreen, // 颜色的绿色部分
- BYTE byBlue, // 颜色的蓝色部分
- BYTE byAlpha // 颜色的透明度
- );
+ BYTE red, // 红色分量
+ BYTE green, // 绿色分量
+ BYTE blue, // 蓝色分量
+ BYTE alpha // 透明度
+);
+参数:
+red
+红色分量,取值范围:0 到 255。
+green
+绿色分量,取值范围:0 到 255。
+blue
+蓝色分量,取值范围:0 到 255。
+alpha
+颜色的透明度,取值范围:0 到 255,0 表示完全透明,255 表示不透明。
+
+返回值:
-参数:
-byRed
-颜色的红色部分,取值范围:0~255。
-byGreen
-颜色的绿色部分,取值范围:0~255。
-byBlue
-颜色的蓝色部分,取值范围:0~255。
-byAlpha
-颜色的透明度,取值范围:0~255,0表示完全透明,255表示不透明。
+合成的颜色。
-返回值:
-返回合成的颜色。
+示例:
-示例:
(无)
diff --git a/man/api/col/HSLtoRGB(hsl2rgb).htm b/man/api/col/HSLtoRGB(hsl2rgb).htm
index cccc2b11..10963e86 100644
--- a/man/api/col/HSLtoRGB(hsl2rgb).htm
+++ b/man/api/col/HSLtoRGB(hsl2rgb).htm
@@ -1,15 +1,17 @@
HSLtoRGB(hsl2rgb)
+
-主页->库函数目录->颜色表示及相关函数->HSLtoRGB(hsl2rgb)
+主页 / 库函数目录 / 颜色 / HSLtoRGB(hsl2rgb)
-功能:
+功能:
+
该函数用于转换 HSL 颜色为 RGB 颜色。
-声明:
+声明:
color_t hsl2rgb(
float H,
float S,
@@ -18,27 +20,34 @@
#define HSLtoRGB hsl2rgb
+参数:
-参数:
H
-原 HSL 颜色模型的 Hue(色相) 分量,0 ≤ H < 360。
+原 HSL 颜色模型的 Hue(色相) 分量,0.0 ≤ H < 360.0。
+
S
-原 HSL 颜色模型的 Saturation(饱和度) 分量,0 ≤ S ≤ 1。
+原 HSL 颜色模型的 Saturation(饱和度) 分量,0.0 ≤ S ≤ 1.0。
+
L
-原 HSL 颜色模型的 Lightness(亮度) 分量,0 ≤ L ≤ 1。
+原 HSL 颜色模型的 Lightness(亮度) 分量,0.0 ≤ L ≤ 1.0。
+
+返回值:
-返回值:
对应的 RGB 颜色。
-说明:
+说明:
+
HSL 又称 HLS。
HSL 的颜色模型如图所示:
-
+
+
+
H 是英文 Hue 的首字母,表示色相,即组成可见光谱的单色。红色在 0 度,绿色在 120 度,蓝色在 240 度,以此方向过渡。
S 是英文 Saturation 的首字母,表示饱和度,等于 0 时为灰色。在最大饱和度 1 时,具有最纯的色光。
L 是英文 Lightness 的首字母,表示亮度,等于 0 时为黑色,等于 0.5 时是色彩最鲜明的状态,等于 1 时为白色。
-示例:
+示例:
+
请参见示例程序19中的“彩虹”。
diff --git a/man/api/col/HSVtoRGB(hsv2rgb).htm b/man/api/col/HSVtoRGB(hsv2rgb).htm
index 5c868432..dd4a986e 100644
--- a/man/api/col/HSVtoRGB(hsv2rgb).htm
+++ b/man/api/col/HSVtoRGB(hsv2rgb).htm
@@ -1,43 +1,53 @@
HSVtoRGB(hsv2rgb)
+
-主页->库函数目录->颜色表示及相关函数->HSVtoRGB(hsv2rgb)
+主页 / 库函数目录 / 颜色 / HSVtoRGB(hsv2rgb)
-功能:
+功能:
+
该函数用于转换 HSV 颜色为 RGB 颜色。
-声明:
+声明:
color_t hsv2rgb(
float H,
float S,
float V
);
+
#define HSVtoRGB hsv2rgb
+参数:
-参数:
H
-原 HSL 颜色模型的 Hue(色相) 分量,0 ≤ H < 360。
+原 HSL 颜色模型的 Hue(色相) 分量,0.0 ≤ H < 360.0。
+
S
-原 HSL 颜色模型的 Saturation(饱和度) 分量,0 ≤ S ≤ 1。
+原 HSL 颜色模型的 Saturation(饱和度) 分量,0.0 ≤ S ≤ 1.0。
+
V
-原 HSL 颜色模型的 Value(明度) 分量,0 ≤ L ≤ 1。
+原 HSL 颜色模型的 Value(明度) 分量,0.0 ≤ L ≤ 1.0。
+
+返回值:
-返回值:
对应的 RGB 颜色。
-说明:
+说明:
+
HSV 又称 HSB。
HSV 的颜色模型如图所示:
-
+
+
+
H 是英文 Hue 的首字母,表示色相,即组成可见光谱的单色。红色在 0 度,绿色在 120 度,蓝色在 240 度,以此方向过渡。
S 是英文 Saturation 的首字母,表示饱和度,等于 0 时为灰色。在最大饱和度 1 时,每一色相具有最纯的色光。
V 是英文 Value 的首字母,表示明度,等于 0 时为黑色,在最大明度 1 时,是色彩最鲜明的状态。
-示例:
+示例:
+
HSV 颜色模型类似于 HSL,示例程序19中的“彩虹”是 HSL 模型的操作范例,可以参考。
diff --git a/man/api/col/RGBtoGRAY(rgb2gray).htm b/man/api/col/RGBtoGRAY(rgb2gray).htm
index 967f873b..e0bb04c4 100644
--- a/man/api/col/RGBtoGRAY(rgb2gray).htm
+++ b/man/api/col/RGBtoGRAY(rgb2gray).htm
@@ -1,30 +1,34 @@
RGBtoGRAY(rgb2gray)
+
-主页->库函数目录->颜色表示及相关函数->RGBtoGRAY(rgb2gray)
+主页 / 库函数目录 / 颜色 / RGBtoGRAY(rgb2gray)
-功能:
-该函数用于返回与指定颜色对应的灰度值颜色。
+功能:
-声明:
+将 RGB 颜色转换为对应的灰度颜色。
+
+声明:
color_t rgb2gray(
color_t rgb
);
#define RGBtoGRAY rgb2gray
+参数:
-参数:
rgb
原 RGB 颜色。
-返回值:
+返回值:
+
对应的灰度颜色。
-示例:
+示例:
+
(无)
diff --git a/man/api/col/RGBtoHSL(rgb2hsl).htm b/man/api/col/RGBtoHSL(rgb2hsl).htm
index dda31116..5ca2a7c5 100644
--- a/man/api/col/RGBtoHSL(rgb2hsl).htm
+++ b/man/api/col/RGBtoHSL(rgb2hsl).htm
@@ -1,15 +1,17 @@
RGBtoHSL(rgb2hsl)
+
-主页->库函数目录->颜色表示及相关函数->RGBtoHSL(rgb2hsl)
+主页 / 库函数目录 / 颜色 / RGBtoHSL(rgb2hsl)
-功能:
-该函数用于转换 RGB 颜色为 HSL 颜色。
+功能:
-声明:
+将 RGB 颜色转换为 HSL 颜色。
+
+声明:
void rgb2hsl(
color_t rgb,
float *H,
@@ -19,24 +21,30 @@
#define RGBtoHSL rgb2hsl
+参数:
-参数:
rgb
原 RGB 颜色。
+
H
-原 HSL 颜色模型的 Hue(色相) 分量,0 ≤ H < 360。
+原 HSL 颜色模型的 Hue(色相) 分量,0.0 ≤ H < 360.0。
+
S
-原 HSL 颜色模型的 Saturation(饱和度) 分量,0 ≤ S ≤ 1。
+原 HSL 颜色模型的 Saturation(饱和度) 分量,0.0 ≤ S ≤ 1.0。
+
L
-原 HSL 颜色模型的 Lightness(亮度) 分量,0 ≤ L ≤ 1。
+原 HSL 颜色模型的 Lightness(亮度) 分量,0.0 ≤ L ≤ 1.0。
+
+返回值:
-返回值:
(无)
-说明:
+说明:
+
HSL 详见 hsl2rgb。
-示例:
+示例:
+
(无)
diff --git a/man/api/col/RGBtoHSV(rgb2hsv).htm b/man/api/col/RGBtoHSV(rgb2hsv).htm
index 9483732f..b5a8ea46 100644
--- a/man/api/col/RGBtoHSV(rgb2hsv).htm
+++ b/man/api/col/RGBtoHSV(rgb2hsv).htm
@@ -1,15 +1,17 @@
RGBtoHSV(rgb2hsv)
+
-主页->库函数目录->颜色表示及相关函数->RGBtoHSV(rgb2hsv)
+主页 / 库函数目录 / 颜色 / RGBtoHSV(rgb2hsv)
-功能:
-该函数用于转换 RGB 颜色为 HSV 颜色。
+功能:
-声明:
+将 RGB 颜色转换为 HSV 颜色。
+
+声明:
void rgb2hsv(
color_t rgb,
float *H,
@@ -19,24 +21,28 @@
#define RGBtoHSV rgb2hsv
-
-参数:
+参数:
rgb
原 RGB 颜色。
+
H
-原 HSL 颜色模型的 Hue(色相) 分量,0 ≤ H < 360。
+原 HSL 颜色模型的 Hue(色相) 分量,0.0 ≤ H < 360.0。
+
S
-原 HSL 颜色模型的 Saturation(饱和度) 分量,0 ≤ S ≤ 1。
+原 HSL 颜色模型的 Saturation(饱和度) 分量,0.0 ≤ S ≤ 1.0。
+
V
-原 HSL 颜色模型的 Value(明度) 分量,0 ≤ L ≤ 1。
+原 HSL 颜色模型的 Value(明度) 分量,0.0 ≤ L ≤ 1.0。
+
+返回值:
-返回值:
(无)
-说明:
+说明:
HSV 详见 hsv2rgb。
-示例:
+示例:
+
(无)
diff --git a/man/api/col/ege_setalpha.htm b/man/api/col/ege_setalpha.htm
index cf80725a..f278ba60 100644
--- a/man/api/col/ege_setalpha.htm
+++ b/man/api/col/ege_setalpha.htm
@@ -1,32 +1,36 @@
ege_setalpha
+
-主页->库函数目录->颜色表示及相关函数->ege_setalpha
+主页 / 库函数目录 / 颜色 / ege_setalpha
-功能:
-将图像所有像素颜色设置为统一的透明度。
+功能:
-声明:
+为图像中所有像素的颜色设置统一的透明度。
+
+声明:
void ege_setalpha(
int alpha,
PIMAGE pimg
);
+参数:
-参数:
alpha
-透明度,范围从0~255。
+透明度,取值范围: 0 到 255,0 为完全透明,255 为不透明。
pimg
-要设置的图像, 为NULL则改变窗口帧缓存像素的透明度(但是显示到屏幕上颜色不会变化)。
+要设置的图像( NULL 则改变窗口帧缓存像素颜色的透明度,但窗口显示到屏幕上内容并不会发生颜色变化)。
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/col/getbkcolor.htm b/man/api/col/getbkcolor.htm
index 6c0b5e38..9f0b6da2 100644
--- a/man/api/col/getbkcolor.htm
+++ b/man/api/col/getbkcolor.htm
@@ -1,27 +1,32 @@
getbkcolor
+
-主页->库函数目录->颜色表示及相关函数->getbkcolor
+主页 / 库函数目录 / 颜色 / getbkcolor
-功能:
-这个函数用于获取当前绘图背景色。
+功能:
-声明:
+获取窗口(图像)的背景颜色。
+
+声明:
color_t getbkcolor(
- PIMAGE pimg = NULL
-);
+ PCIMAGE pimg = NULL
+);
+参数:
-参数:
-(无)
+pimg
+要获取背景颜色的图像 (NULL 为 窗口)
+
+返回值:
+
+窗口(图像)的背景颜色。
-返回值:
-返回当前绘图背景色。
+示例:
-示例:
(无)
diff --git a/man/api/col/getcolor.htm b/man/api/col/getcolor.htm
index 83dc8819..c9dd084c 100644
--- a/man/api/col/getcolor.htm
+++ b/man/api/col/getcolor.htm
@@ -1,27 +1,32 @@
getcolor
+
-主页->库函数目录->颜色表示及相关函数->getcolor
+主页 / 库函数目录 / 颜色 / getcolor
-功能:
-这个函数用于获取当前绘图前景色。
+功能:
-声明:
+获取窗口(图像)的前景色。
+
+声明:
color_t getcolor(
- PIMAGE pimg = NULL
-);
+ PCIMAGE pimg = NULL
+);
+参数:
-参数:
-(无)
+pimg
+要获取前景颜色的图像 (NULL 为 窗口)
+
+返回值:
+
+窗口(图像)的前景色。
-返回值:
-返回当前绘图前景色。
+示例:
-示例:
(无)
diff --git a/man/api/col/getfillcolor.htm b/man/api/col/getfillcolor.htm
index a30691a6..b5fddb0c 100644
--- a/man/api/col/getfillcolor.htm
+++ b/man/api/col/getfillcolor.htm
@@ -1,27 +1,32 @@
getfillcolor
+
-主页->库函数目录->颜色表示及相关函数->getfillcolor
+主页 / 库函数目录 / 颜色 / getfillcolor
-功能:
-这个函数用于获取当前绘图填充色。
+功能:
-声明:
+获取窗口(图像)的填充颜色。
+
+声明:
color_t getfillcolor(
- PIMAGE pimg = NULL
+ PCIMAGE pimg = NULL
);
+参数:
-参数:
-(无)
+pimg
+要获取填充颜色的图像 (NULL 为 窗口)
+
+返回值:
+
+窗口(图像)的填充颜色
-返回值:
-返回当前绘图填充色。
+示例:
-示例:
(无)
diff --git a/man/api/col/getpixel.htm b/man/api/col/getpixel.htm
index 8dbe09ed..4491a76f 100644
--- a/man/api/col/getpixel.htm
+++ b/man/api/col/getpixel.htm
@@ -1,33 +1,40 @@
getpixel
+
-主页->库函数目录->颜色表示及相关函数->getpixel
+主页 / 库函数目录 / 颜色 / getpixel
-功能:
-这个函数用于获取像素点的颜色。
+功能:
-声明:
+获取图像(窗口)上像素点的 ARGB 颜色。
+
+声明:
color_t getpixel(
int x,
int y
- PIMAGE pimg = NULL
-);
+ PCIMAGE pimg = NULL
+);
+参数:
-参数:
x
-要获取颜色的 x 坐标。
+像素点的 x 坐标
y
-要获取颜色的 y 坐标。
+像素点的 y 坐标
+
+pimg
+目标图像 (NULL 为 窗口)
+
+返回值:
+
+指定像素点的 ARGB 颜色。
-返回值:
-指定点的颜色。
+示例:
-示例:
(无)
其它说明:另有高速版的getpixel_f函数,参数一样,作用一样,但不进行相对坐标变换和边界检查(如果越界绘图,要么画错地方,要么程序结果莫名其妙,甚至直接崩溃),并且必须在批量绘图模式下才能使用,否则将发生不可预知的结果。
diff --git a/man/api/col/index.htm b/man/api/col/index.htm
index c19995ca..d3c28ee0 100644
--- a/man/api/col/index.htm
+++ b/man/api/col/index.htm
@@ -1,52 +1,55 @@
- 颜色表示及相关函数
+ 颜色
+
-主页->库函数目录->颜色表示及相关函数
+主页 / 库函数目录 / 颜色
-目录:
-
-函数或数据 | 说明 |
-颜色表示 | 介绍颜色表示方法 |
-EGERGB | 通过红、绿、蓝颜色分量合成颜色 |
-EGEGRAY | 生成对应灰度的灰色 |
-
-getbkcolor | 获取当前绘图背景色 |
-getcolor | 获取当前绘图前景色 |
-getfillcolor | 获取当前绘图填充色 |
-
-setbkcolor | 设置当前绘图背景色 |
-setbkcolor_f | 设置清屏时所用的背景色 |
-setbkmode | 设置输出文字时的背景模式 |
-setcolor | 设置当前绘图前景色 |
-setfillcolor | 设置当前绘图填充色 |
-setfontbkcolor | 设置当前文字背景色 |
-ege_setalpha | 设置图像颜色为统一透明度 |
-
-EGEGET_R | 返回指定颜色中的红色值 |
-EGEGET_G | 返回指定颜色中的绿色值 |
-EGEGET_B | 返回指定颜色中的蓝色值 |
-EGEGET_A | 返回指定颜色中的透明度 |
-
-HSLtoRGB(hsl2rgb) | 转换 HSL 颜色为 RGB 颜色 |
-HSVtoRGB(hsv2rgb) | 转换 HSV 颜色为 RGB 颜色 |
-RGBtoGRAY(rgb2gray) | 转换 RGB 颜色为 灰度颜色 |
-RGBtoHSL(rgb2hsl) | 转换 RGB 颜色为 HSL 颜色 |
-RGBtoHSV(rgb2hsv) | 转换 RGB 颜色为 HSV 颜色 |
-RGBTOBGR | 转换 RGB 颜色为 BGR 颜色 |
-
-EGERGBA | 通过红、绿、蓝颜色分量和透明度合成ARGB颜色 |
-EGEARGB | 通过透明度和红、绿、蓝颜色分量合成ARGB颜色 |
-EGEACOLOR | 通过透明度和RGB颜色合成ARGB颜色 |
-EGECOLORA | 通过RGB颜色和透明度合成ARGB颜色 |
-EGEGRAYA | 由灰度值和透明度生成对应的灰色 |
-EGEAGRAY | 由灰度值和透明度生成对应的灰色 |
+
+注:最低版本要求中的 ege dev 为 GitHub 开发版本,尚未正式发布。
+
特殊说明:
- 这里部分函数的最后一个参数为一个PIMAGE的参数,是一个可选参数,如果不填,则绘画到当前页。如果填上,则设置或者绘画到指定的IMAGE。
+ 这里部分函数的最后一个参数为一个 PIMAGE 的参数,是一个可选参数。
+ 如果不填,则绘画到当前页。如果填上,则设置或者绘画到指定的IMAGE。
diff --git a/man/api/col/intro.htm b/man/api/col/intro.htm
index d41450b1..72be9e19 100644
--- a/man/api/col/intro.htm
+++ b/man/api/col/intro.htm
@@ -1,44 +1,259 @@
颜色表示
+
+
-主页->库函数目录->颜色表示及相关函数->颜色表示
+
+主页 / 库函数目录 / 颜色 / 颜色表示
设置绘图色有以下几种办法:
-1. 用 16 进制的颜色表示,形式为:
-RGB颜色
-0xrrggbb (rr=红,gg=绿,bb=蓝)
+1. 用十六进制颜色码的颜色表示,形式为:
+(注:以#开头的十六进制颜色码是通用表达形式,在 C/C++ 中需要以 0x 开头的十六进制数来代替)
+
+ 颜色类型 | 十六进制颜色码 | 在 ege 对应的十六进制数值 |
+ RGB 颜色 | #RGB | 0xFFRRGGBB |
+ RGB 颜色 | #RRGGBB | 0xFFRRGGBB |
+ ARGB 颜色 | #AARRGGBB | 0xAARRGGBB |
+
-ARGB颜色
-0xaarrggbb (aa = 透明度,rr=红,gg=绿,bb=蓝)
+
+ 颜色 | 十六进制数值 | 说明 |
+ RGB | 0xFFRRGGBB | RR = 红,GG = 绿,BB = 蓝 |
+ ARGB | 0xAARRGGBB | AA = 透明度,RR = 红,GG = 绿,BB = 蓝 |
+
如果一些绘图函数使用的是ARGB颜色,则透明度不能为0,否则看不到绘制图形。
-2. 用预定义颜色,如下:
-
-
-常量值 | 值 | 颜色值 | 常量值 | 值 | 颜色 |
-BLACK值 | 0值 | 黑值 | DARKGRAY值 | 0x545454值 | 深灰 |
-BLUE值 | 0x0000A8值 | 蓝值 | LIGHTBLUE值 | 0x5454FC值 | 亮蓝 |
-GREEN值 | 0x00A800值 | 绿值 | LIGHTGREEN值 | 0x54FC54值 | 亮绿 |
-CYAN值 | 0x00A8A8值 | 青值 | LIGHTCYAN值 | 0x54FCFC值 | 亮青 |
-RED值 | 0xA80000值 | 值 | LIGHTRED值 | 0xFC5454值 | 亮红 |
-MAGENTA值 | 0xA800A8值 | 紫值 | LIGHTMAGENTA值 | 0xFC54FC值 | 亮紫 |
-BROWN值 | 0xA8A800值 | 棕值 | YELLOW值 | 0xFCFC54值 | 黄 |
-LIGHTGRAY值 | 0xA8A8A8值 | 浅灰值 | WHITE值 | 0xFCFCFC值 | 白 |
+
+2. 用 EGERGB(), EGEARGB() 宏合成颜色。
+
+
+ 宏 | 对应的十六进制形式 | 说明 |
+ EGERGB(RR, GG, BB) | 0xFFRRGGBB | RR = 红,GG = 绿,BB = 蓝 |
+ EGEARGB(AA, RR, GG, BB) | 0xAARRGGBB | AA = 透明度,RR = 红,GG = 绿,BB = 蓝 |
+
-3. 用 EGERGB 宏合成颜色。详见 EGERGB。
-4. 用 hsl2rgb、hsv2rgb 转换其他色彩模型到 RGB 颜色。详见 hsl2rgb、hsv2rgb。
+3. 用 hsl2rgb、hsv2rgb 转换其他色彩模型到 RGB 颜色。详见 hsl2rgb、hsv2rgb。
+
+
+4. 用预定义颜色,如下:
+
+ege20.08 及之前的版本
+
+ 常量 | 值 | 颜色 | 常量 | 值 | 颜色 |
+
+ BLACK | EGERGB(0x00, 0x00, 0x00) | 黑 |
+ DARKGRAY | EGERGB(0x54, 0x54, 0x54) | 深灰 |
+
+
+ BLUE | EGERGB(0x00, 0x00, 0xA8) | 蓝 |
+ LIGHTBLUE | EGERGB(0x54, 0x54, 0xFC) | 亮蓝 |
+
+
+ GREEN | EGERGB(0x00, 0xA8 ,0x00) | 绿 |
+ LIGHTGREEN | EGERGB(0x54, 0xFC, 0x54) | 亮绿 |
+
+
+ CYAN | EGERGB(0x00, 0xA8, 0xA8) | 青 |
+ LIGHTCYAN | EGERGB(0x54, 0xFC, 0xFC) | 亮青 |
+
+
+ RED | EGERGB(0xA8, 0x00, 0x00) | 红 |
+ LIGHTRED | EGERGB(0xFC, 0x54, 0x54) | 亮红 |
+
+
+ MAGENTA | EGERGB(0xA8, 0x00, 0xA8) | 紫 |
+ LIGHTMAGENTA | EGERGB(0xFC, 0x54, 0xFC) | 亮紫 |
+
+
+ BROWN | EGERGB(0xA8, 0xA8, 0x00) | 棕 |
+ YELLOW | EGERGB(0xFC, 0xFC, 0x54) | 黄 |
+
+
+ LIGHTGRAY | EGERGB(0xA8, 0xA8, 0xA8) | 浅灰 |
+ WHITE | EGERGB(0xFC, 0xFC, 0xFC) | 白 |
+
+
+
+ege dev 版本
+
+ 常量 | 值 | 颜色 |
+ ALICEBLUE | EGERGB(0xF0, 0xF8, 0xFF) | |
+ ANTIQUEWHITE | EGERGB(0xFA, 0xEB, 0xD7) | |
+ AQUA | EGERGB(0x00, 0xFF, 0xFF) | |
+ AQUAMARINE | EGERGB(0x7F, 0xFF, 0xD4) | |
+ AZURE | EGERGB(0xF0, 0xFF, 0xFF) | |
+ BEIGE | EGERGB(0xF5, 0xF5, 0xDC) | |
+ BEIGE | EGERGB(0xF5, 0xF5, 0xDC) | |
+ BISQUE | EGERGB(0xFF, 0xE4, 0xC4) | |
+ BLACK | EGERGB(0x00, 0x00, 0x00) | |
+ BLANCHEDALMOND | EGERGB(0xFF, 0xEB, 0xCD) | |
+ BLUE | EGERGB(0x00, 0x00, 0xFF) | |
+ BLUEVIOLET | EGERGB(0x8A, 0x2B, 0xE2) | |
+ BROWN | EGERGB(0xA5, 0x2A, 0x2A) | |
+ BURLYWOOD | EGERGB(0xDE, 0xB8, 0x87) | |
+ CADETBLUE | EGERGB(0x5F, 0x9E, 0xA0) | |
+ CHARTREUSE | EGERGB(0x7F, 0xFF, 0x00) | |
+ CHOCOLATE | EGERGB(0xD2, 0x69, 0x1E) | |
+ CORAL | EGERGB(0xFF, 0x7F, 0x50) | |
+ CORNFLOWERBLUE | EGERGB(0x64, 0x95, 0xED) | |
+ CORNSILK | EGERGB(0xFF, 0xF8, 0xDC) | |
+ CRIMSON | EGERGB(0xDC, 0x14, 0x3C) | |
+ CYAN | EGERGB(0x00, 0xFF, 0xFF) | |
+ DARKBLUE | EGERGB(0x00, 0x00, 0x8B) | |
+ DARKCYAN | EGERGB(0x00, 0x8B, 0x8B) | |
+ DARKGOLDENROD | EGERGB(0xB8, 0x86, 0x0B) | |
+ DARKGRAY | EGERGB(0xA9, 0xA9, 0xA9) | |
+ DARKGREEN | EGERGB(0x00, 0x64, 0x00) | |
+ DARKKHAKI | EGERGB(0xBD, 0xB7, 0x6B) | |
+ DARKMAGENTA | EGERGB(0x8B, 0x00, 0x8B) | |
+ DARKOLIVEGREEN | EGERGB(0x55, 0x6B, 0x2F) | |
+ DARKORANGE | EGERGB(0xFF, 0x8C, 0x00) | |
+ DARKORCHID | EGERGB(0x99, 0x32, 0xCC) | |
+ DARKRED | EGERGB(0x8B, 0x00, 0x00) | |
+ DARKSALMON | EGERGB(0xE9, 0x96, 0x7A) | |
+ DARKSEAGREEN | EGERGB(0x8F, 0xBC, 0x8F) | |
+ DARKSLATEBLUE | EGERGB(0x48, 0x3D, 0x8B) | |
+ DARKSLATEGRAY | EGERGB(0x2F, 0x4F, 0x4F) | |
+ DARKTURQUOISE | EGERGB(0x00, 0xCE, 0xD1) | |
+ DARKVIOLET | EGERGB(0x94, 0x00, 0xD3) | |
+ DEEPPINK | EGERGB(0xFF, 0x14, 0x93) | |
+ DEEPSKYBLUE | EGERGB(0x00, 0xBF, 0xFF) | |
+ DIMGRAY | EGERGB(0x69, 0x69, 0x69) | |
+ DODGERBLUE | EGERGB(0x1E, 0x90, 0xFF) | |
+ FIREBRICK | EGERGB(0xB2, 0x22, 0x22) | |
+ FLORALWHITE | EGERGB(0xFF, 0xFA, 0xF0) | |
+ FORESTGREEN | EGERGB(0x22, 0x8B, 0x22) | |
+ FUCHSIA | EGERGB(0xFF, 0x00, 0xFF) | |
+ GAINSBORO | EGERGB(0xDC, 0xDC, 0xDC) | |
+ GHOSTWHITE | EGERGB(0xF8, 0xF8, 0xFF) | |
+ GOLD | EGERGB(0xFF, 0xD7, 0x00) | |
+ GOLDENROD | EGERGB(0xDA, 0xA5, 0x20) | |
+ GRAY | EGERGB(0x80, 0x80, 0x80) | |
+ GREEN | EGERGB(0x00, 0x80, 0x00) | |
+ GREENYELLOW | EGERGB(0xAD, 0xFF, 0x2F) | |
+ HONEYDEW | EGERGB(0xF0, 0xFF, 0xF0) | |
+ HOTPINK | EGERGB(0xFF, 0x69, 0xB4) | |
+ INDIANRED | EGERGB(0xCD, 0x5C, 0x5C) | |
+ INDIGO | EGERGB(0x4B, 0x00, 0x82) | |
+ IVORY | EGERGB(0xFF, 0xFF, 0xF0) | |
+ KHAKI | EGERGB(0xF0, 0xE6, 0x8C) | |
+ LAVENDER | EGERGB(0xE6, 0xE6, 0xFA) | |
+ LAVENDERBLUSH | EGERGB(0xFF, 0xF0, 0xF5) | |
+ LAWNGREEN | EGERGB(0x7C, 0xFC, 0x00) | |
+ LEMONCHIFFON | EGERGB(0xFF, 0xFA, 0xCD) | |
+ LIGHTBLUE | EGERGB(0xAD, 0xD8, 0xE6) | |
+ LIGHTCORAL | EGERGB(0xF0, 0x80, 0x80) | |
+ LIGHTCYAN | EGERGB(0xE0, 0xFF, 0xFF) | |
+ LIGHTGOLDENRODYELLOW | EGERGB(0xFA, 0xFA, 0xD2) | |
+ LIGHTGRAY | EGERGB(0xD3, 0xD3, 0xD3) | |
+ LIGHTGREEN | EGERGB(0x90, 0xEE, 0x90) | |
+ LIGHTPINK | EGERGB(0xFF, 0xB6, 0xC1) | |
+ LIGHTSALMON | EGERGB(0xFF, 0xA0, 0x7A) | |
+ LIGHTSEAGREEN | EGERGB(0x20, 0xB2, 0xAA) | |
+ LIGHTSKYBLUE | EGERGB(0x87, 0xCE, 0xFA) | |
+ LIGHTSLATEGRAY | EGERGB(0x77, 0x88, 0x99) | |
+ LIGHTSTEELBLUE | EGERGB(0xB0, 0xC4, 0xDE) | |
+ LIGHTYELLOW | EGERGB(0xFF, 0xFF, 0xE0) | |
+ LIGHTRED | EGERGB(0xFC, 0x54, 0x54) | |
+ LIGHTMAGENTA | EGERGB(0xFC, 0x54, 0xFC) | |
+ LIME | EGERGB(0x00, 0xFF, 0x00) | |
+ LIMEGREEN | EGERGB(0x32, 0xCD, 0x32) | |
+ LINEN | EGERGB(0xFA, 0xF0, 0xE6) | |
+ MAGENTA | EGERGB(0xFF, 0x00, 0xFF) | |
+ MAROON | EGERGB(0x80, 0x00, 0x00) | |
+ MEDIUMAQUAMARINE | EGERGB(0x66, 0xCD, 0xAA) | |
+ MEDIUMBLUE | EGERGB(0x00, 0x00, 0xCD) | |
+ MEDIUMORCHID | EGERGB(0xBA, 0x55, 0xD3) | |
+ MEDIUMPURPLE | EGERGB(0x93, 0x70, 0xDB) | |
+ MEDIUMSEAGREEN | EGERGB(0x3C, 0xB3, 0x71) | |
+ MEDIUMSLATEBLUE | EGERGB(0x7B, 0x68, 0xEE) | |
+ MEDIUMSPRINGGREEN | EGERGB(0x00, 0xFA, 0x9A) | |
+ MEDIUMTURQUOISE | EGERGB(0x48, 0xD1, 0xCC) | |
+ MEDIUMVIOLETRED | EGERGB(0xC7, 0x15, 0x85) | |
+ MIDNIGHTBLUE | EGERGB(0x19, 0x19, 0x70) | |
+ MINTCREAM | EGERGB(0xF5, 0xFF, 0xFA) | |
+ MISTYROSE | EGERGB(0xFF, 0xE4, 0xE1) | |
+ MOCCASIN | EGERGB(0xFF, 0xE4, 0xB5) | |
+ NAVAJOWHITE | EGERGB(0xFF, 0xDE, 0xAD) | |
+ NAVY | EGERGB(0x00, 0x00, 0x80) | |
+ OLDLACE | EGERGB(0xFD, 0xF5, 0xE6) | |
+ OLIVE | EGERGB(0x80, 0x80, 0x00) | |
+ OLIVEDRAB | EGERGB(0x6B, 0x8E, 0x23) | |
+ ORANGE | EGERGB(0xFF, 0xA5, 0x00) | |
+ ORANGERED | EGERGB(0xFF, 0x45, 0x00) | |
+ ORCHID | EGERGB(0xDA, 0x70, 0xD6) | |
+ PALEGOLDENROD | EGERGB(0xEE, 0xE8, 0xAA) | |
+ PALEGREEN | EGERGB(0x98, 0xFB, 0x98) | |
+ PALETURQUOISE | EGERGB(0xAF, 0xEE, 0xEE) | |
+ PALEVIOLETRED | EGERGB(0xDB, 0x70, 0x93) | |
+ PAPAYAWHIP | EGERGB(0xFF, 0xEF, 0xD5) | |
+ PEACHPUFF | EGERGB(0xFF, 0xDA, 0xB9) | |
+ PERU | EGERGB(0xCD, 0x85, 0x3F) | |
+ PINK | EGERGB(0xFF, 0xC0, 0xCB) | |
+ PLUM | EGERGB(0xDD, 0xA0, 0xDD) | |
+ POWDERBLUE | EGERGB(0xB0, 0xE0, 0xE6) | |
+ PURPLE | EGERGB(0x80, 0x00, 0x80) | |
+ RED | EGERGB(0xFF, 0x00, 0x00) | |
+ ROSYBROWN | EGERGB(0xBC, 0x8F, 0x8F) | |
+ ROYALBLUE | EGERGB(0x41, 0x69, 0xE1) | |
+ SADDLEBROWN | EGERGB(0x8B, 0x45, 0x13) | |
+ SALMON | EGERGB(0xFA, 0x80, 0x72) | |
+ SANDYBROWN | EGERGB(0xF4, 0xA4, 0x60) | |
+ SEAGREEN | EGERGB(0x2E, 0x8B, 0x57) | |
+ SEASHELL | EGERGB(0xFF, 0xF5, 0xEE) | |
+ SIENNA | EGERGB(0xA0, 0x52, 0x2D) | |
+ SILVER | EGERGB(0xC0, 0xC0, 0xC0) | |
+ SKYBLUE | EGERGB(0x87, 0xCE, 0xEB) | |
+ SLATEBLUE | EGERGB(0x6A, 0x5A, 0xCD) | |
+ SLATEGRAY | EGERGB(0x70, 0x80, 0x90) | |
+ SNOW | EGERGB(0xFF, 0xFA, 0xFA) | |
+ SPRINGGREEN | EGERGB(0x00, 0xFF, 0x7F) | |
+ STEELBLUE | EGERGB(0x46, 0x82, 0xB4) | |
+ TAN | EGERGB(0xD2, 0xB4, 0x8C) | |
+ TEAL | EGERGB(0x00, 0x80, 0x80) | |
+ THISTLE | EGERGB(0xD8, 0xBF, 0xD8) | |
+ TOMATO | EGERGB(0xFF, 0x63, 0x47) | |
+ TURQUOISE | EGERGB(0x40, 0xE0, 0xD0) | |
+ VIOLET | EGERGB(0xEE, 0x82, 0xEE) | |
+ WHEAT | EGERGB(0xF5, 0xDE, 0xB3) | |
+ WHITE | EGERGB(0xFF, 0xFF, 0xFF) | |
+ WHITESMOKE | EGERGB(0xF5, 0xF5, 0xF5) | |
+ YELLOW | EGERGB(0xFF, 0xFF, 0x00) | |
+ YELLOWGREEN | EGERGB(0x9A, 0xCD, 0x32) | |
+
示例:
以下是部分设置前景色的方法:
-setcolor(0xff0000);
+setcolor(0x0000FF);
setcolor(BLUE);
setcolor(EGERGB(0, 0, 255));
-setcolor(hsl2rgb(240, 1, 0.5));
+setcolor(hsl2rgb(240, 1, 0.5));
+
+
diff --git a/man/api/col/rgbtobgr.htm b/man/api/col/rgbtobgr.htm
index ce402db0..b39a6202 100644
--- a/man/api/col/rgbtobgr.htm
+++ b/man/api/col/rgbtobgr.htm
@@ -1,28 +1,32 @@
RGBTOBGR
+
-主页->库函数目录->颜色表示及相关函数->RGBTOBGR
+主页 / 库函数目录 / 颜色 / RGBTOBGR
-功能:
-该函数用于将RGB颜色转换为BGR颜色。
+功能:
-声明:
+将 RGB 颜色转换为 BGR 颜色(也可将 BGR 颜色转换为 RGB 颜色)。
+
+声明:
color_t RGBTOBGR(
color_t rgb
);
+参数:
-参数:
rgb
原 RGB 颜色。
-返回值:
-对应的BGR颜色。
+返回值:
+
+对应的 BGR 颜色。
+
+示例:
-示例:
(无)
diff --git a/man/api/col/setbkcolor.htm b/man/api/col/setbkcolor.htm
index 558c3023..15953738 100644
--- a/man/api/col/setbkcolor.htm
+++ b/man/api/col/setbkcolor.htm
@@ -1,29 +1,37 @@
setbkcolor
+
-主页->库函数目录->颜色表示及相关函数->setbkcolor
+主页 / 库函数目录 / 颜色 / setbkcolor
-功能:
-这个函数用于设置当前背景色。并且会把当前图片上是原背景色的像素,转变为新的背景色。
+功能:
-声明:
+ 设置窗口(图像)的背景颜色,并且会把窗口(图像)上是原背景色的像素,
+转变为新的背景色。
+
+声明:
void setbkcolor(
color_t color,
PIMAGE pimg = NULL
);
+参数:
-参数:
color
指定要设置的背景颜色。
-返回值:
+pimg
+要设置背景颜色的图像(NULL 为窗口)。
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/col/setbkcolor_f.htm b/man/api/col/setbkcolor_f.htm
index 57c9f9ad..a3c4e189 100644
--- a/man/api/col/setbkcolor_f.htm
+++ b/man/api/col/setbkcolor_f.htm
@@ -1,29 +1,38 @@
setbkcolor_f
+
-主页->库函数目录->颜色表示及相关函数->setbkcolor_f
+主页 / 库函数目录 / 颜色 / setbkcolor_f
-功能:
-这个函数用于设置当前背景色。即仅设置cleardevice时所使用的颜色,不立即生效,需要等cleardevice调用。
+功能:
-声明:
-void setbkcolor(
+设置窗口(图像)的背景颜色。
+仅设置 cleardevice() 所使用的颜色,不会替换图像中的像素颜色。
+调用 setbkcolor_f() 后再调用 cleardevice() 即可将整个图像填充成新的背景颜色。
+
+声明:
+void setbkcolor_f(
color_t color,
PIMAGE pimg = NULL
);
+参数:
-参数:
color
指定要设置的背景颜色。注意,该设置会同时影响文字背景色。
-返回值:
+pimg
+要设置背景颜色的图像(NULL 为窗口)。
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/col/setbkmode.htm b/man/api/col/setbkmode.htm
index 0155c732..ed5ea15e 100644
--- a/man/api/col/setbkmode.htm
+++ b/man/api/col/setbkmode.htm
@@ -1,33 +1,41 @@
setbkmode
+
-主页->库函数目录->颜色表示及相关函数->setbkmode
+主页 / 库函数目录 / 颜色 / setbkmode
-功能:
-这个函数用于设置输出文字时的背景模式。
+功能:
-声明:
+设置输出文字时的背景模式。
+
+声明:
void setbkmode(
- int iBkMode,
+ int bkMode,
PIMAGE pimg = NULL
);
+参数:
-参数:
-iBkMode
+bkMode
指定输出文字时的背景模式,可以是以下值:
-
-值 | 描述 |
-OPAQUE值 | 背景用当前背景色填充(默认)。 |
-TRANSPARENT | 背景是透明的。 |
+
+
+ 值 | 描述 |
+ OPAQUE(默认) | 文字输出时带着背景色块。背景色块的颜色可用 setfontbkcolor(), setbkcolor() 设置。 |
+ TRANSPARENT | 文字输出时无背景色块 |
-返回值:
+pimg
+要设置文字背景模式的图像(NULL 为窗口)。
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/col/setcolor.htm b/man/api/col/setcolor.htm
index 2a3f4d69..60335f95 100644
--- a/man/api/col/setcolor.htm
+++ b/man/api/col/setcolor.htm
@@ -1,29 +1,35 @@
setcolor
+
-主页->库函数目录->颜色表示及相关函数->setcolor
+主页 / 库函数目录 / 颜色 / setcolor
-功能:
-这个函数用于设置绘图前景色。
+功能:
-声明:
+设置窗口(图像)的前景颜色。
+
+声明:
void setcolor(
color_t color,
PIMAGE pimg = NULL
);
-
-参数:
+参数:
color
要设置的前景颜色。
-返回值:
+pimg
+要设置前景颜色的图像(NULL 为窗口)
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/col/setfillcolor.htm b/man/api/col/setfillcolor.htm
index 4d3c24ec..f3312e28 100644
--- a/man/api/col/setfillcolor.htm
+++ b/man/api/col/setfillcolor.htm
@@ -1,29 +1,36 @@
setfillcolor
+
-主页->库函数目录->颜色表示及相关函数->setcolor
+主页 / 库函数目录 / 颜色 / setcolor
-功能:
-这个函数用于设置绘图填充色。
+功能:
-声明:
+设置窗口(图像)的填充颜色。
+
+声明:
void setfillcolor(
color_t color,
PIMAGE pimg = NULL
);
+参数:
-参数:
color
要设置的填充颜色。
-返回值:
+pimg
+要设置填充颜色的图像(NULL 为窗口)
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/col/setfontbkcolor.htm b/man/api/col/setfontbkcolor.htm
index 6f0a29f1..51775b39 100644
--- a/man/api/col/setfontbkcolor.htm
+++ b/man/api/col/setfontbkcolor.htm
@@ -1,29 +1,36 @@
setfontbkcolor
+
-主页->库函数目录->颜色表示及相关函数->setfontbkcolor
+主页 / 库函数目录 / 颜色 / setfontbkcolor
-功能:
-这个函数用于设置文字背景色。
+功能:
-声明:
+设置窗口(图像)的文字背景色。
+
+声明:
void setfontbkcolor(
color_t color,
PIMAGE pimg = NULL
);
+参数:
-参数:
color
要设置的文字背景颜色。
-返回值:
+pimg
+要设置文字背景色的图像(NULL 为窗口)
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/console/clear_console.htm b/man/api/console/clear_console.htm
index 6c6083e1..29d950a1 100644
--- a/man/api/console/clear_console.htm
+++ b/man/api/console/clear_console.htm
@@ -1,29 +1,33 @@
clear_console
+
-主页->库函数目录->主控台相关函数->clear_console
+主页 / 库函数目录 / 控制台 / clear_console
-功能:
-清除主控台窗口中的内容
+功能:
-声明:
+清除控制台窗口中的内容
+
+声明:
BOOL clear_console();
-
-参数:
+参数:
(无)
-返回值:
-
-TRUE | 操作成功 |
-FALSE | 操作失败 |
+返回值:
+
+
+值 | 描述 |
+TRUE | 操作成功 |
+FALSE | 操作失败 |
-示例:
-以下局部代码清除主控台窗口:
+示例:
+
+以下局部代码清除控制台窗口:
clear_console();
diff --git a/man/api/console/close_console.htm b/man/api/console/close_console.htm
index c64ab3ad..152f089b 100644
--- a/man/api/console/close_console.htm
+++ b/man/api/console/close_console.htm
@@ -1,29 +1,32 @@
close_console
+
-主页->库函数目录->主控台相关函数->close_console
+主页 / 库函数目录 / 控制台 / close_console
-功能:
-关闭主控台窗口。
+功能:
-声明:
+关闭控制台窗口。
+
+声明:
BOOL close_console();
-
-参数:
+参数:
(无)
-返回值:
-
-TRUE | 操作成功 |
-FALSE | 操作失败 |
+返回值:
+
+
+值 | 描述 |
+TRUE | 操作成功 |
+FALSE | 操作失败 |
-示例:
-以下局部代码关闭主控台窗口:
+示例:
+以下局部代码关闭控制台窗口:
close_console();
diff --git a/man/api/console/hide_console.htm b/man/api/console/hide_console.htm
index 03b428db..35e81529 100644
--- a/man/api/console/hide_console.htm
+++ b/man/api/console/hide_console.htm
@@ -1,29 +1,32 @@
hide_console
+
-主页->库函数目录->主控台相关函数->hide_console
+主页 / 库函数目录 / 控制台 / hide_console
-功能:
-隐藏主控台窗口(配合show_console使用)
+功能:
-声明:
+隐藏控制台窗口(配合show_console使用)
+
+声明:
BOOL hide_console();
-
-参数:
+参数:
(无)
-返回值:
-
-TRUE | 操作成功 |
-FALSE | 操作失败 |
+返回值:
+
+
+值 | 描述 |
+TRUE | 操作成功 |
+FALSE | 操作失败 |
-示例:
-以下局部代码隐藏主控台窗口:
+示例:
+以下局部代码隐藏控制台窗口:
hide_console();
diff --git a/man/api/console/index.htm b/man/api/console/index.htm
index cb1be24e..37591e2b 100644
--- a/man/api/console/index.htm
+++ b/man/api/console/index.htm
@@ -1,21 +1,25 @@
- 主控台相关函数
+ 控制台
+
-主页->库函数目录->主控台相关函数
+主页 / 库函数目录 / 控制台
-目录:
-
-函数或数据 | 说明 |
-init_console | 初始化(并显示)主控台窗口 |
-close_console | 关闭主控台窗口 |
-show_console | 显示主控台窗口 |
-hide_console | 隐藏主控台窗口 |
-clear_console | 清除主控台窗口中的内容 |
+
+
+注:最低版本要求中的 ege dev 为 GitHub 开发版本,尚未正式发布。
+
+
diff --git a/man/api/console/init_console.htm b/man/api/console/init_console.htm
index 65399ee4..01a7666d 100644
--- a/man/api/console/init_console.htm
+++ b/man/api/console/init_console.htm
@@ -1,29 +1,33 @@
init_console
+
-主页->库函数目录->主控台相关函数->init_console
+主页 / 库函数目录 / 控制台 / init_console
-功能:
-初始化并显示主控台窗口。
+功能:
-声明:
+初始化并显示控制台窗口。
+
+声明:
BOOL init_console();
-
-参数:
+参数:
(无)
-返回值:
-
-TRUE | 操作成功 |
-FALSE | 操作失败 |
+返回值:
+
+
+值 | 描述 |
+TRUE | 操作成功 |
+FALSE | 操作失败 |
-示例:
-以下局部代码打开并显示主控台窗口:
+示例:
+
+以下局部代码打开并显示控制台窗口:
init_console();
diff --git a/man/api/console/show_console.htm b/man/api/console/show_console.htm
index 3bfa2046..61118254 100644
--- a/man/api/console/show_console.htm
+++ b/man/api/console/show_console.htm
@@ -1,29 +1,33 @@
show_console
+
-主页->库函数目录->主控台相关函数->show_console
+主页 / 库函数目录 / 控制台 / show_console
-功能:
-显示主控台窗口(配合hide_console使用)
+功能:
-声明:
+显示控制台窗口(配合 hide_console() 使用)
+
+声明:
BOOL show_console();
-
-参数:
+参数:
(无)
-返回值:
-
-TRUE | 操作成功 |
-FALSE | 操作失败 |
+返回值:
+
+
+值 | 描述 |
+TRUE | 操作成功 |
+FALSE | 操作失败 |
-示例:
-以下局部代码显示已隐藏的主控台窗口:
+示例:
+
+以下局部代码显示已隐藏的控制台窗口:
show_console();
diff --git a/man/api/draw/arc.htm b/man/api/draw/arc.htm
index 02c7f764..917979b1 100644
--- a/man/api/draw/arc.htm
+++ b/man/api/draw/arc.htm
@@ -1,15 +1,17 @@
arc
+
-主页->库函数目录->绘制图形相关函数->arc
+主页 / 库函数目录 / 图形绘制 / arc
-功能:
-这个函数用于画圆弧。边线颜色由setcolor函数决定
+功能:
-声明:
+绘制圆弧。边线颜色由 setcolor() 函数指定
+
+声明:
void arc(
int x,
int y,
@@ -27,8 +29,7 @@
PIMAGE pimg = NULL
);
-
-参数:
+参数:
x
圆弧的圆心 x 坐标。
@@ -36,18 +37,23 @@
圆弧的圆心 y 坐标。
stangle
-圆弧的起始角的角度。
+圆弧的起始角的角度(一周是360°)。
endangle
-圆弧的终止角的角度。
+圆弧的终止角的角度(一周是360°)。
radius
圆弧的半径。
-返回值:
+pimg
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/bar.htm b/man/api/draw/bar.htm
index 7a52d477..8316053a 100644
--- a/man/api/draw/bar.htm
+++ b/man/api/draw/bar.htm
@@ -1,15 +1,17 @@
bar
+
-主页->库函数目录->绘制图形相关函数->bar
+主页 / 库函数目录 / 图形绘制 / bar
-功能:
-这个函数用于画无边框填充矩形。其中,填充颜色由setfillcolor函数决定
+功能:
-声明:
+绘制无边框填充矩形。其中,填充颜色由 setfillcolor() 函数指定
+
+声明:
void bar(
int left,
int top,
@@ -18,8 +20,8 @@
PIMAGE pimg = NULL
);
+参数:
-参数:
left
矩形左部 x 坐标。
@@ -27,15 +29,20 @@
矩形上部 y 坐标。
right
-矩形右部 x 坐标(该点取不到,实际右边界为right-1)。
+矩形右部 x 坐标(该点取不到,实际右边界为 right-1 )。
bottom
-矩形下部 y 坐标(该点取不到,实际下边界为bottom-1)。
+矩形下部 y 坐标(该点取不到,实际下边界为 bottom-1 )。
+
+pimg
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/bar3d.htm b/man/api/draw/bar3d.htm
index c3b12230..9819ea72 100644
--- a/man/api/draw/bar3d.htm
+++ b/man/api/draw/bar3d.htm
@@ -1,15 +1,17 @@
bar3d
+
-主页->库函数目录->绘制图形相关函数->bar3d
+主页 / 库函数目录 / 图形绘制 / bar3d
-功能:
-这个函数用于画有边框三维填充矩形。其中,填充颜色由setfillcolor函数决定
+功能:
-声明:
+绘制有边框的三维填充矩形。其中,填充颜色由 setfillcolor() 函数指定
+
+声明:
void bar3d(
int left,
int top,
@@ -20,8 +22,7 @@
PIMAGE pimg = NULL
);
-
-参数:
+参数:
left
矩形左部 x 坐标。
@@ -40,11 +41,15 @@
topflag
为 false 时,将不画矩形的三维顶部。该选项可用来画堆叠的三维矩形。
-返回值:
+pimg
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
+
(无)
-示例:
-#include "graphics.h"
+示例:
+#include <graphics.h>
int main()
{
@@ -54,7 +59,7 @@
getch();
return 0;
}
-示例效果:
+示例效果:
diff --git a/man/api/draw/circle.htm b/man/api/draw/circle.htm
index 7e36891d..f1fe5ad9 100644
--- a/man/api/draw/circle.htm
+++ b/man/api/draw/circle.htm
@@ -1,15 +1,17 @@
circle
+
-主页->库函数目录->绘制图形相关函数->circle
+主页 / 库函数目录 / 图形绘制 / circle
-功能:
-这个函数用于画圆。此圆是空心的,不填充,而边线颜色由setcolor函数决定
+功能:
-声明:
+绘制圆,此圆是空心的,不填充,边线颜色由 setcolor() 函数指定
+
+声明:
void circle(
int x,
int y,
@@ -23,8 +25,7 @@
PIMAGE pimg = NULL
);
-
-参数:
+参数:
x
圆的圆心 x 坐标。
@@ -34,10 +35,15 @@
radius
圆的半径。
-返回值:
+pimg
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/drawbezier.htm b/man/api/draw/drawbezier.htm
index a2b738f5..f936ae40 100644
--- a/man/api/draw/drawbezier.htm
+++ b/man/api/draw/drawbezier.htm
@@ -1,34 +1,41 @@
drawbezier
+
-主页->库函数目录->绘制图形相关函数->drawbezier
+主页 / 库函数目录 / 图形绘制 / drawbezier
-功能:
-这个函数用于画bezier曲线。边线颜色由setcolor函数决定
+功能:
-声明:
+绘制 bezier 曲线,线条颜色由 setcolor() 函数指定。
+
+声明:
void drawbezier(
int numpoints,
const int *polypoints,
PIMAGE pimg = NULL
);
+参数:
-参数:
numpoints
-多边形点的个数,需要是被3除余1的数,如果不是,则忽略最后面若干个点。
+多边形点的个数,数值需要是 3n+1 ,如果不是,则忽略最后面若干个点。
polypoints
-每个点的坐标(依次两个分别为x,y),数组元素个数为 numpoints * 2。
-每一条bezier曲线由两个端点和两个控制点组成,相邻两条则共用端点。
+每个点的坐标(每连续两个值依次为点的 x 坐标和 y 坐标),数组元素个数为 numpoints * 2。
+每一条 bezier 曲线由两个端点和两个控制点组成,相邻两条则共用端点。
+
+pimg
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/drawlines.htm b/man/api/draw/drawlines.htm
index e026cd04..5d90bad4 100644
--- a/man/api/draw/drawlines.htm
+++ b/man/api/draw/drawlines.htm
@@ -1,34 +1,40 @@
drawlines
+
-主页->库函数目录->绘制图形相关函数->drawlines
+主页 / 库函数目录 / 图形绘制 / drawlines
-功能:
-这个函数用于画多条线段。边线颜色由setcolor函数决定
+功能:
-声明:
+绘制多条线段,线条颜色由 setcolor() 函数指定。
+
+声明:
void drawlines(
int numliness,
const int *polypoints,
PIMAGE pimg = NULL
);
-
-参数:
+参数:
numlines
线段数目。
polypoints
-每个点的坐标(依次两个分别为x,y),数组元素个数为 numlines * 4。
+每个点的坐标(每连续两个值依次为点的 x 坐标和 y 坐标), 数组元素个数为 numlines * 4。
每两个点画一线段。
-返回值:
+pimg
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/drawpoly.htm b/man/api/draw/drawpoly.htm
index 717698e0..4029f93a 100644
--- a/man/api/draw/drawpoly.htm
+++ b/man/api/draw/drawpoly.htm
@@ -1,23 +1,24 @@
drawpoly
+
-主页->库函数目录->绘制图形相关函数->drawpoly
+主页 / 库函数目录 / 图形绘制 / drawpoly
-功能:
-这个函数用于画多边形。边线颜色由setcolor函数决定
+功能:
-声明:
+绘制多边形,边线颜色由 setcolor() 函数指定
+
+声明:
void drawpoly(
int numpoints,
const int *polypoints,
PIMAGE pimg = NULL
);
-
-参数:
+参数:
numpoints
多边形点的个数。
@@ -25,10 +26,15 @@
每个点的坐标(依次两个分别为x,y),数组元素个数为 numpoints * 2。
该函数并不会自动连接多边形首尾。如果需要画封闭的多边形,请将最后一个点设置为与第一点相同。
-返回值:
+pimg
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/ege_arc.htm b/man/api/draw/ege_arc.htm
index afa5070c..2b165fcd 100644
--- a/man/api/draw/ege_arc.htm
+++ b/man/api/draw/ege_arc.htm
@@ -1,15 +1,17 @@
ege_arc
+
-主页->库函数目录->绘制图形相关函数->ege_arc
+主页 / 库函数目录 / 图形绘制 / ege_arc
-功能:
-这个函数用于画椭圆弧。颜色由setcolor函数决定
+功能:
-声明:
+绘制椭圆弧。线条颜色由 setcolor() 函数指定
+
+声明:
void ege_arc(
float x,
float y,
@@ -21,10 +23,10 @@
);
-注意事项:
-使用的是ARGB颜色,透明度不能为0,否则无绘制效果。
+注意事项:
+使用的是 ARGB 颜色,透明度不能为 0,否则无绘制效果。
-参数:
+参数:
x
包围椭圆的矩形的左上角x坐标。
@@ -44,12 +46,14 @@
椭圆弧扫过的角度。
pimg
-绘制的目标图像,默认为NULL,即绘制到窗口。
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/ege_bezier.htm b/man/api/draw/ege_bezier.htm
index 97bd4ae2..76284add 100644
--- a/man/api/draw/ege_bezier.htm
+++ b/man/api/draw/ege_bezier.htm
@@ -1,15 +1,17 @@
ege_bezier
+
-主页->库函数目录->绘制图形相关函数->ege_bezier
+主页 / 库函数目录 / 图形绘制 / ege_bezier
-功能:
-这个函数用于画bezier曲线。边线颜色由setcolor函数决定
+功能:
-声明:
+绘制 bezier 曲线,线条颜色由 setcolor() 函数指定。
+
+声明:
void ege_bezier(
int numpoints,
ege_point* polypoints,
@@ -17,24 +19,27 @@
);
-注意事项:
-使用的是ARGB颜色,透明度不能为0,否则无绘制效果。
+注意事项:
+使用的是 ARGB 颜色,透明度不能为 0,否则无绘制效果。
+
+参数:
-参数:
numpoints
-控制多边形点的个数,需要是被3除余1的数,如果不是,则忽略最后面若干个点。
+控制多边形点的个数,数值需要是 3n+1 ,如果不是,则忽略最后面若干个点。
polypoints
每个点的坐标,数组元素个数为 numpoints。
-每一条bezier曲线由两个端点和两个控制点组成,相邻两条则共用端点。
+每一条 bezier 曲线由两个端点和两个控制点组成,相邻两条则共用端点。
pimg
-绘制的目标图像,默认为NULL,即绘制到窗口。
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/ege_colpoint.htm b/man/api/draw/ege_colpoint.htm
index fa37e6ae..344e2541 100644
--- a/man/api/draw/ege_colpoint.htm
+++ b/man/api/draw/ege_colpoint.htm
@@ -1,30 +1,32 @@
ege_colpoint 结构体
+
-主页->库函数目录->绘制图形相关函数->ege_colpoint 结构体
+主页 / 库函数目录 / 图形绘制 / ege_colpoint 结构体
-功能:
-用于保存点的坐标的颜色
+功能:
-声明:
+用于保存点的坐标和颜色
+
+声明:
typedef struct ege_colpoint {
float x;
- float y;
+ float y;
color_t color;
}ege_point;
-成员:
-x, t
+成员:
+x, y
点的坐标
color
点的颜色
-示例:
+示例:
diff --git a/man/api/draw/ege_drawcurve.htm b/man/api/draw/ege_drawcurve.htm
index 50eab540..bb568b13 100644
--- a/man/api/draw/ege_drawcurve.htm
+++ b/man/api/draw/ege_drawcurve.htm
@@ -1,15 +1,17 @@
ege_drawcurve
+
-主页->库函数目录->绘制图形相关函数->ege_drawcurve
+主页 / 库函数目录 / 图形绘制 / ege_drawcurve
-功能:
-这个函数用于画一条经过所有点的拟合曲线。边线颜色由setcolor函数决定
+功能:
-声明:
+画一条经过所有点的拟合曲线,线条颜色由 setcolor() 函数指定。
+
+声明:
void ege_drawcurve(
int numpoints,
ege_point* polypoints,
@@ -17,10 +19,10 @@
);
-注意事项:
-使用的是ARGB颜色,透明度不能为0,否则无绘制效果。
+注意事项:
+使用的是 ARGB 颜色,透明度不能为 0,否则无绘制效果。
-参数:
+参数:
numpoints
点的个数。
@@ -29,12 +31,14 @@
拟合曲线经过所有点。
pimg
-绘制的目标图像,默认为NULL,即绘制到窗口。
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/ege_drawimage.htm b/man/api/draw/ege_drawimage.htm
index 88a8356e..227379e4 100644
--- a/man/api/draw/ege_drawimage.htm
+++ b/man/api/draw/ege_drawimage.htm
@@ -1,22 +1,24 @@
ege_drawimage
+
-主页->库函数目录->绘制图形相关函数->ege_drawimage
+主页 / 库函数目录 / 图形绘制 / ege_drawimage
-功能:
-这个函数用来将一个图像绘制到另一个图像或屏幕上(使用alpha混合方式)。
+功能:
-声明:
+这个函数用来将一个图像绘制到另一个图像或屏幕上(使用 alpha 混合方式)。
+
+声明:
// 绘制图像
void ege_drawimage(
PCIMAGE srcimg, // 源图像指针
int dstX, // 绘制位置的 x 坐标
int dstY, // 绘制位置的 y 坐标
- PCIMAGE pimg = NULL //目标图像指针,NULL表示绘制到屏幕
+ PCIMAGE pimg = NULL //目标图像指针,NULL表示绘制到屏幕
);
// 绘制图像(拉伸)
@@ -30,24 +32,24 @@
int srcY, // 绘制内容在 IMAGE 对象中的左上角 y 坐标
int srcWidth, // 绘制内容在源 IMAGE 对象中的宽度
int srcHeight, // 绘制内容在源 IMAGE 对象中的高度
- PCIMAGE pimg = NULL //目标图像指针,NULL表示绘制到屏幕
+ PCIMAGE pimg = NULL //目标图像指针,NULL表示绘制到屏幕
);
-
-参数:
+参数:
(详见各重载函数原型内的注释)
-返回值:
+返回值:
+
(无)
-示例:
+示例:
以下局部代码读取 c:\test.png 绘制在屏幕左上角:
PIMAGE img = newimage();
-if (getimage(img, "c:\\test.png")!= grOk) {
+if (getimage(img, "c:\\test.png") != grOk) {
//读取图片文件失败
exit(-1);
}
-ege_putimage(img,0, 0);
+ege_drawimage(img, 0, 0);
delimage(img);
diff --git a/man/api/draw/ege_drawpoly.htm b/man/api/draw/ege_drawpoly.htm
index 8cb30c50..01ebea53 100644
--- a/man/api/draw/ege_drawpoly.htm
+++ b/man/api/draw/ege_drawpoly.htm
@@ -1,39 +1,44 @@
ege_drawpoly
+
-主页->库函数目录->绘制图形相关函数->ege_drawpoly
+主页 / 库函数目录 / 图形绘制 / ege_drawpoly
-功能:
-这个函数用于画多边形线框。边线颜色由setcolor函数决定
+功能:
-声明:
+画多边形线框,边线颜色由 setcolor() 函数指定。
+
+声明:
void ege_drawpoly(
int numpoints,
ege_point* polypoints,
PIMAGE pimg = NULL
);
+注意事项:
-注意事项:
-使用的是ARGB颜色,透明度不能为0,否则无绘制效果。
+使用的是 ARGB 颜色,透明度不能为 0,否则无绘制效果。
-参数:
+参数:
numpoints
多边形点的个数。
polypoints
-每个点的坐标,数组元素个数为 numpoints,首尾两个点自动相连。
+每个点的坐标,数组元素个数为 numpoints。
+该函数并不会自动连接多边形首尾。如果需要画封闭的多边形,请将最后一个点设置为与第一点相同。
pimg
-绘制的目标图像,默认为NULL,即绘制到窗口。
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/ege_ellipse.htm b/man/api/draw/ege_ellipse.htm
index d9a457bd..159c1a97 100644
--- a/man/api/draw/ege_ellipse.htm
+++ b/man/api/draw/ege_ellipse.htm
@@ -1,15 +1,17 @@
ege_ellipse
+
-主页->库函数目录->绘制图形相关函数->ege_ellipse
+主页 / 库函数目录 / 图形绘制 / ege_ellipse
-功能:
-这个函数用于画椭圆线框。边线颜色由setcolor函数决定。
+功能:
-声明:
+绘制椭圆线框,边线颜色由 setcolor() 函数指定。。
+
+声明:
void ege_ellipse(
float x,
float y,
@@ -18,10 +20,11 @@
PIMAGE pimg = NULL
);
-注意事项:
-使用的是ARGB颜色,透明度不能为0,否则无绘制效果。
+注意事项:
+
+使用的是 ARGB 颜色,透明度不能为 0,否则无绘制效果。
-参数:
+参数:
x
包围椭圆的矩形的左上角 x 坐标。
@@ -35,12 +38,14 @@
包围椭圆的矩形的高。
pimg
-绘制的目标图像,默认为NULL,即绘制到窗口。
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/ege_enable_aa.htm b/man/api/draw/ege_enable_aa.htm
index f4b28bc6..56288f1d 100644
--- a/man/api/draw/ege_enable_aa.htm
+++ b/man/api/draw/ege_enable_aa.htm
@@ -1,32 +1,37 @@
ege_enable_aa
+
-主页->库函数目录->绘制图形相关函数->ege_enable_aa
+主页 / 库函数目录 / 图形绘制 / ege_enable_aa
-功能:
-对图像设置抗锯齿,使在图像上用高级函数绘图时图形更加平滑。
+功能:
-声明:
+对图像设置开启或关闭抗锯齿绘图功能。
+开启抗锯齿可使得高级函数绘制出的图形边缘更加平滑。
+(只对 ege_ 前缀的高级绘图函数有效)
+
+声明:
void ege_enable_aa(
bool enable,
PIMAGE pimg = NULL
);
-
-参数:
+参数:
enable
是否设置抗锯齿,true 表示开启抗锯齿,false表示停用抗锯齿。
pimg
设置的图像,为NULL则表示设置的是窗口。
-返回值:
+返回值:
+
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/ege_fillellipse.htm b/man/api/draw/ege_fillellipse.htm
index 27aa28a5..1603f5a5 100644
--- a/man/api/draw/ege_fillellipse.htm
+++ b/man/api/draw/ege_fillellipse.htm
@@ -1,15 +1,17 @@
ege_fillellipse
+
-主页->库函数目录->绘制图形相关函数->ege_fillellipse
+主页 / 库函数目录 / 图形绘制 / ege_fillellipse
-功能:
-这个函数用于画无边线的填充椭圆。填充颜色由setfillcolor函数决定。
+功能:
-声明:
+绘制无边框的填充椭圆。填充颜色由 setfillcolor() 函数指定。
+
+声明:
void ege_fillellipse(
float x,
float y,
@@ -18,10 +20,10 @@
PIMAGE pimg = NULL
);
-注意事项:
-使用的是ARGB颜色,透明度不能为0,否则无绘制效果。
+注意事项:
+使用的是 ARGB 颜色,透明度不能为 0,否则无绘制效果。
-参数:
+参数:
x
包围椭圆的矩形的左上角 x 坐标。
@@ -35,12 +37,14 @@
包围椭圆的矩形的高。
pimg
-绘制的目标图像,默认为NULL,即绘制到窗口。
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/ege_fillpie.htm b/man/api/draw/ege_fillpie.htm
index f94169e2..bb1d369f 100644
--- a/man/api/draw/ege_fillpie.htm
+++ b/man/api/draw/ege_fillpie.htm
@@ -1,15 +1,17 @@
ege_fillpie
+
-主页->库函数目录->绘制图形相关函数->ege_fillpie
+主页 / 库函数目录 / 图形绘制 / ege_fillpie
-功能:
-这个函数用于画无边线的填充扇形。填充颜色由setfillcolor函数决定
+功能:
-声明:
+绘制无边框的填充扇形。填充颜色由 setfillcolor() 函数指定
+
+声明:
void ege_fillpie(
float x,
float y,
@@ -21,10 +23,10 @@
);
-注意事项:
-使用的是ARGB颜色,透明度不能为0,否则无绘制效果。
+注意事项:
+使用的是 ARGB 颜色,透明度不能为 0,否则无绘制效果。
-参数:
+参数:
x
包围椭圆的矩形的左上角x坐标。
@@ -44,12 +46,14 @@
扇形扫过的角度。
pimg
-绘制的目标图像,默认为NULL,即绘制到窗口。
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/ege_fillpoly.htm b/man/api/draw/ege_fillpoly.htm
index 87825cad..bb9a0d25 100644
--- a/man/api/draw/ege_fillpoly.htm
+++ b/man/api/draw/ege_fillpoly.htm
@@ -1,15 +1,17 @@
ege_fillpoly
+
-主页->库函数目录->绘制图形相关函数->ege_fillpoly
+主页 / 库函数目录 / 图形绘制 / ege_fillpoly
-功能:
-这个函数用于画无边线的填充多边形。填充颜色由setfillcolor函数决定
+功能:
-声明:
+绘制无边框的填充多边形。填充颜色由 setfillcolor() 函数指定
+
+声明:
void ege_fillpoly(
int numpoints,
ege_point* polypoints,
@@ -17,10 +19,10 @@
);
-注意事项:
-使用的是ARGB颜色,透明度不能为0,否则无绘制效果。
+注意事项:
+使用的是 ARGB 颜色,透明度不能为 0,否则无绘制效果。
-参数:
+参数:
numpoints
多边形点的个数。
@@ -28,12 +30,14 @@
每个点的坐标,数组元素个数为 numpoints,首尾两个点自动相连。
pimg
-绘制的目标图像,默认为NULL,即绘制到窗口。
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/ege_fillrect.htm b/man/api/draw/ege_fillrect.htm
index 1c6ce27c..95b4846b 100644
--- a/man/api/draw/ege_fillrect.htm
+++ b/man/api/draw/ege_fillrect.htm
@@ -1,16 +1,18 @@
- ege_rectangle
+ ege_fillrect
+
-主页->库函数目录->绘制图形相关函数->ege_rectangle
+主页 / 库函数目录 / 图形绘制 / ege_fillrect
-功能:
-这个函数用于画无边线的填充矩形。填充颜色由setfillcolor指定。
+功能:
-声明:
-void ege_rectangle(
+绘制无边框的填充矩形。填充颜色由 setfillcolor() 指定。
+
+声明:
+void ege_fillrect(
float x,
float y,
float w,
@@ -19,10 +21,10 @@
);
-注意事项:
-使用的是ARGB颜色,透明度不能为0,否则无绘制效果。
+注意事项:
+使用的是 ARGB 颜色,透明度不能为 0,否则无绘制效果。
-参数:
+参数:
x
矩形左上角 x 坐标。
@@ -36,12 +38,14 @@
矩形高。
pimg
-绘制的目标图像,默认为NULL,即绘制到窗口。
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/ege_gentexture.htm b/man/api/draw/ege_gentexture.htm
index 5c9b332d..84087916 100644
--- a/man/api/draw/ege_gentexture.htm
+++ b/man/api/draw/ege_gentexture.htm
@@ -1,34 +1,35 @@
ege_gentexture
+
-主页->库函数目录->绘制图形相关函数->ege_gentexture
+主页 / 库函数目录 / 图形绘制 / ege_gentexture
-功能:
+功能:
+
设置图像生成额外的纹理图像。
-声明:
+声明:
void ege_gentexture(
bool gen,
PIMAGE pimg = NULL
);
-
-参数:
-gen
-是否生成纹理图像
-true 表示生成纹理图像。
-false表示不生成纹理图像,如果已经生成,则进行销毁。
+参数:
+gen:
+是否生成纹理图像。true 表示生成纹理图像。false 表示不生成纹理图像,如果已经生成,则进行销毁。
pimg
设置的图像,为NULL则表示设置的是窗口。
-返回值:
+返回值:
+
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/ege_get_transform.htm b/man/api/draw/ege_get_transform.htm
index ad6039a8..b27348a7 100644
--- a/man/api/draw/ege_get_transform.htm
+++ b/man/api/draw/ege_get_transform.htm
@@ -1,31 +1,33 @@
ege_get_transform
+
-主页->库函数目录->绘制图形相关函数->ege_get_transform
+主页 / 库函数目录 / 图形绘制 / ege_get_transform
-功能:
-获取图片当前的坐标变换矩阵。
+功能:
-声明:
+获取图像当前的坐标变换矩阵。
+
+声明:
// 获取坐标变换矩阵
void ege_get_transform(
- ege_transform_matrix* pmatrix, //坐标变换矩阵指针,该指针必须指向一个有效的矩阵对象
- PCIMAGE pimg = NULL //目标图像指针,NULL表示绘制到屏幕
+ ege_transform_matrix* pmatrix, //坐标变换矩阵指针,该指针必须指向一个有效的矩阵对象
+ PCIMAGE pimg = NULL //目标图像指针,NULL表示绘制到屏幕
);
-
-参数:
+参数:
(详见函数原型内的注释)
备注:该函数通常与ege_set_transform函数配合使用。
-返回值:
+返回值:
+
(无)
-示例:
+示例:
下面的代码将图片img沿中心点顺时针旋转45度后,复制到屏幕的中心:
ege_transform_matrix m;
diff --git a/man/api/draw/ege_line.htm b/man/api/draw/ege_line.htm
index e3c47b4e..385ca780 100644
--- a/man/api/draw/ege_line.htm
+++ b/man/api/draw/ege_line.htm
@@ -1,15 +1,17 @@
ege_line
+
-主页->库函数目录->绘制图形相关函数->ege_line
+主页 / 库函数目录 / 图形绘制 / ege_line
-功能:
-这个函数用于画线。
+功能:
-声明:
+绘制直线, 线条颜色由 setcolor() 函数指定。
+
+声明:
void ege_line(
float x1,
float y1,
@@ -19,10 +21,10 @@
);
-注意事项:
-使用的是ARGB颜色,透明度不能为0,否则无绘制效果。
+注意事项:
+使用的是 ARGB 颜色,透明度不能为 0,否则无绘制效果。
-参数:
+参数:
x1
线的起始点的 x 坐标。
@@ -36,12 +38,14 @@
线的终止点的 y 坐标(该点本身画不到)。
pimg
-绘制的目标图像,默认为NULL,即绘制到窗口。
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/ege_pie.htm b/man/api/draw/ege_pie.htm
index 71ea1b7c..7a0ed978 100644
--- a/man/api/draw/ege_pie.htm
+++ b/man/api/draw/ege_pie.htm
@@ -1,15 +1,17 @@
ege_pie
+
-主页->库函数目录->绘制图形相关函数->ege_pie
+主页 / 库函数目录 / 图形绘制 / ege_pie
-功能:
-这个函数用于画扇形线框。颜色由setcolor函数决定
+功能:
-声明:
+绘制扇形线框,颜色由 setcolor() 函数指定。
+
+声明:
void ege_pie(
float x,
float y,
@@ -21,10 +23,10 @@
);
-注意事项:
-使用的是ARGB颜色,透明度不能为0,否则无绘制效果。
+注意事项:
+使用的是 ARGB 颜色,透明度不能为 0,否则无绘制效果。
-参数:
+参数:
x
包围椭圆的矩形的左上角x坐标。
@@ -44,12 +46,14 @@
扇形扫过的角度。
pimg
-绘制的目标图像,默认为NULL,即绘制到窗口。
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/ege_point.htm b/man/api/draw/ege_point.htm
index 74451129..a884bd48 100644
--- a/man/api/draw/ege_point.htm
+++ b/man/api/draw/ege_point.htm
@@ -1,28 +1,30 @@
ege_point 结构体
+
-主页->库函数目录->绘制图形相关函数->ege_point 结构体
+主页 / 库函数目录 / 图形绘制 / ege_point 结构体
-功能:
+功能:
+
用于保存点的坐标
-声明:
+声明:
typedef struct ege_point {
float x;
float y;
}ege_point;
-成员:
+成员:
x
点的 x 坐标
y
点的 y 坐标
-示例:
+示例:
diff --git a/man/api/draw/ege_puttexture.htm b/man/api/draw/ege_puttexture.htm
index 02bc22c8..d6f95184 100644
--- a/man/api/draw/ege_puttexture.htm
+++ b/man/api/draw/ege_puttexture.htm
@@ -1,15 +1,17 @@
ege_puttexture
+
-主页->库函数目录->绘制图形相关函数->ege_puttexture
+主页 / 库函数目录 / 图形绘制 / ege_puttexture
-功能:
-在目标区域上绘制纹理图像,图像需要先用ege_gentexture()生成纹理图像。
+功能:
-声明:
+在目标区域上绘制纹理图像,源图像需要先用 ege_gentexture() 生成纹理图像。
+
+声明:
void ege_puttexture(
PIMAGE srcimg, //纹理图像
ege_rect dest, //绘制对象区域
@@ -23,11 +25,10 @@
PIMAGE pimg = NULL //绘制对象
);
-
-参数:
+参数:
srcimg
-纹理图像
+纹理图像(由 ege_gentexture() 生成)
dest
绘制对象区域
@@ -36,12 +37,14 @@
纹理图像区域
pimg
-绘制对象,为NULL则表示设置的是窗口。
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/ege_rect.htm b/man/api/draw/ege_rect.htm
index 855fba37..c0714988 100644
--- a/man/api/draw/ege_rect.htm
+++ b/man/api/draw/ege_rect.htm
@@ -1,15 +1,17 @@
ege_rect 结构体
+
-主页->库函数目录->绘制图形相关函数->ege_rect 结构体
+主页 / 库函数目录 / 图形绘制 / ege_rect 结构体
-功能:
+功能:
+
用于保存矩形区域信息
-声明:
+声明:
typedef struct ege_rect {
float x;
float y;
@@ -18,13 +20,13 @@
}ege_rect;
-成员:
+成员:
x, y
区域的左上角
w, h
区域的宽高
-示例:
+示例:
diff --git a/man/api/draw/ege_rectangle.htm b/man/api/draw/ege_rectangle.htm
index b441eed0..3ac67978 100644
--- a/man/api/draw/ege_rectangle.htm
+++ b/man/api/draw/ege_rectangle.htm
@@ -1,15 +1,17 @@
ege_rectangle
+
-主页->库函数目录->绘制图形相关函数->ege_rectangle
+主页 / 库函数目录 / 图形绘制 / ege_rectangle
-功能:
-这个函数用于画矩形线框,线框颜色由setcolor指定。
+功能:
-声明:
+绘制矩形线框,线框颜色由 setcolor() 指定。
+
+声明:
void ege_rectangle(
float x,
float y,
@@ -19,10 +21,10 @@
);
-注意事项:
-使用的是ARGB颜色,透明度不能为0,否则无绘制效果。
+注意事项:
+使用的是 ARGB 颜色,透明度不能为 0,否则无绘制效果。
-参数:
+参数:
x
矩形左上角 x 坐标。
@@ -36,12 +38,14 @@
矩形高。
pimg
-绘制的目标图像,默认为NULL,即绘制到窗口。
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/ege_set_transform.htm b/man/api/draw/ege_set_transform.htm
index 0f871ff4..78ad34f0 100644
--- a/man/api/draw/ege_set_transform.htm
+++ b/man/api/draw/ege_set_transform.htm
@@ -1,31 +1,35 @@
ege_set_transform
+
-主页->库函数目录->绘制图形相关函数->ege_set_transform
+主页 / 库函数目录 / 图形绘制 / ege_set_transform
-功能:
+功能:
+
设置图片的坐标变换矩阵。
-声明:
+声明:
// 设置坐标变换矩阵
void ege_set_transform(
- ege_transform_matrix* pmatrix, //坐标变换矩阵指针,该指针必须指向一个有效的矩阵对象
- PCIMAGE pimg = NULL //目标图像指针,NULL表示绘制到屏幕
+ ege_transform_matrix* pmatrix, //坐标变换矩阵指针,该指针必须指向一个有效的矩阵对象
+ PCIMAGE pimg = NULL //目标图像指针,NULL表示绘制到屏幕
);
+参数:
-参数:
(详见函数原型内的注释)
备注:该函数通常与ege_get_transform函数配合使用。
-返回值:
+返回值:
+
(无)
-示例:
+示例:
+
下面的代码将图片img沿中心点顺时针旋转45度后,复制到屏幕的中心:
ege_transform_matrix m;
diff --git a/man/api/draw/ege_setpattern_ellipsegradient.htm b/man/api/draw/ege_setpattern_ellipsegradient.htm
index 77ec55de..273213e2 100644
--- a/man/api/draw/ege_setpattern_ellipsegradient.htm
+++ b/man/api/draw/ege_setpattern_ellipsegradient.htm
@@ -1,17 +1,19 @@
ellipsegradient
+
-主页->库函数目录->绘制图形相关函数->ellipsegradient
+主页 / 库函数目录 / 图形绘制 / ellipsegradient
-功能:
+功能:
+
设置高级函数颜色填充模式为椭圆渐变颜色填充模式。
有效区域为椭圆区域,区域内容颜色渐变填充。
填充区域在有效区域内才能正确填充。
-声明:
+声明:
void ellipsegradient(
ege_point center, //中心点坐标
color_t centercolor, //中心点颜色
@@ -23,8 +25,8 @@
PIMAGE pimg = NULL
);
+参数:
-参数:
center,centercolor
中心点的坐标及颜色
@@ -32,12 +34,14 @@
包围椭圆的矩形的左上角坐标及宽高。
pimg
-设置的目标图像,默认为NULL,即设置窗口。
+设置的目标图像,默认为 NULL,即设置窗口。
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/ege_setpattern_lineargradient.htm b/man/api/draw/ege_setpattern_lineargradient.htm
index 12e7f1ae..e0a3c4a7 100644
--- a/man/api/draw/ege_setpattern_lineargradient.htm
+++ b/man/api/draw/ege_setpattern_lineargradient.htm
@@ -1,18 +1,20 @@
ege_setpattern_lineargradient
+
-主页->库函数目录->绘制图形相关函数->ege_setpattern_lineargradient
+主页 / 库函数目录 / 图形绘制 / ege_setpattern_lineargradient
-功能:
+功能:
+
设置高级函数颜色填充模式为线性渐变颜色填充模式。
区域为从以直线为宽的条状区域,颜色由一边向另一边线性渐变。
填充区域在区域内有效。
-声明:
+声明:
void ege_setpattern_lineargradient(
float x1,
float y1,
@@ -23,8 +25,8 @@
PIMAGE pimg = NULL
);
+参数:
-参数:
x1, y1, c1
第一个点的坐标及颜色
@@ -32,12 +34,14 @@
第二个点的坐标及颜色
pimg
-设置的目标图像,默认为NULL,即设置窗口。
+设置的目标图像,默认为 NULL,即设置窗口。
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/ege_setpattern_none.htm b/man/api/draw/ege_setpattern_none.htm
index cf87e6be..61b9d19e 100644
--- a/man/api/draw/ege_setpattern_none.htm
+++ b/man/api/draw/ege_setpattern_none.htm
@@ -1,28 +1,32 @@
ege_setapttern_none
+
-主页->库函数目录->绘制图形相关函数->ege_setapttern_none
+主页 / 库函数目录 / 图形绘制 / ege_setapttern_none
-功能:
-设置高级函数颜色填充模式为默认颜色填充模式,即以setfillcolor设置的填充颜色填充。
+功能:
-声明:
+设置高级函数颜色填充模式为默认颜色填充模式,即以 setfillcolor() 设置的填充颜色填充。
+
+声明:
void ege_setapttern_none(
PIMAGE pimg = NULL
);
+参数:
-参数:
pimg
-设置的目标图像,默认为NULL,即设置窗口。
+设置的目标图像,默认为 NULL ,即设置窗口。
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/ege_setpattern_pathgradient.htm b/man/api/draw/ege_setpattern_pathgradient.htm
index cdc31682..048edbdf 100644
--- a/man/api/draw/ege_setpattern_pathgradient.htm
+++ b/man/api/draw/ege_setpattern_pathgradient.htm
@@ -1,18 +1,20 @@
ege_setpattern_lineargradient
+
-主页->库函数目录->绘制图形相关函数->ege_setpattern_lineargradient
+主页 / 库函数目录 / 图形绘制 / ege_setpattern_lineargradient
-功能:
+功能:
+
设置高级函数颜色填充模式为路径渐变颜色填充模式。
有效区域为由点包围成的多边形区域,区域内容颜色渐变填充。
填充区域在有效区域内才能正确填充,在有效区域外填充区域不能保证填充正确。
-声明:
+声明:
void ege_setpattern_lineargradient(
ege_point center, //中心点坐标
color_t centercolor, //中心点颜色
@@ -23,8 +25,7 @@
PIMAGE pimg = NULL
);
-
-参数:
+参数:
center,centercolor
中心点的坐标及颜色
@@ -35,12 +36,14 @@
多边形每个点对应的颜色。
pimg
-设置的目标图像,默认为NULL,即设置窗口。
+设置的目标图像,默认为 NULL,即设置窗口。
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/ege_setpattern_texture.htm b/man/api/draw/ege_setpattern_texture.htm
index 9d6f80b8..ccb9bf1a 100644
--- a/man/api/draw/ege_setpattern_texture.htm
+++ b/man/api/draw/ege_setpattern_texture.htm
@@ -1,18 +1,20 @@
ege_setapttern_texture
+
-主页->库函数目录->绘制图形相关函数->ege_setapttern_texture
+主页 / 库函数目录 / 图形绘制 / ege_setapttern_texture
-功能:
+功能:
+
设置高级函数颜色填充模式为纹理填充模式。
使用前需要先将图像用ege_gentexture()生成纹理图。
若填充区域超出纹理区域大小,将使用纹理重复填充
纹理图像使用ARGB颜色,如果图像透明度为0,则无填充效果
-声明:
+声明:
void ege_setapttern_texture(
PIMAGE texture,
float x,
@@ -22,8 +24,7 @@
PIMAGE pimg= NULL
);
-
-参数:
+参数:
texture
用作填充的纹理图像,需要先使用ege_gentexture()生成纹理,不可为NULL。
@@ -33,13 +34,14 @@
可以通过setviewport()设置视口改变原点位置)
pimg
-设置的目标图像,默认为NULL,即设置窗口。
+设置的目标图像,默认为 NULL,即设置窗口。
+
+返回值:
-返回值:
(无)
-示例:
-#include "graphics.h"
+示例:
+#include <graphics.h>
int main()
{
initgraph(640, 480, 0);
diff --git a/man/api/draw/ege_transform_reset.htm b/man/api/draw/ege_transform_reset.htm
index d83ad378..c2e1f296 100644
--- a/man/api/draw/ege_transform_reset.htm
+++ b/man/api/draw/ege_transform_reset.htm
@@ -1,29 +1,31 @@
ege_transform_reset
+
-主页->库函数目录->绘制图形相关函数->ege_transform_reset
+主页 / 库函数目录 / 图形绘制 / ege_transform_reset
-功能:
+功能:
+
这个函数重置所有的坐标变换。
-声明:
+声明:
// 重置坐标变换
void ege_transform_translate(
PCIMAGE pimg = NULL //目标图像指针,NULL表示绘制到屏幕
);
-
-参数:
+参数:
(详见函数原型内的注释)
-返回值:
+返回值:
+
(无)
-示例:
+示例:
下面的代码将图片img沿中心点顺时针旋转45度后,复制到屏幕的中心:
ege_transform_matrix m;
diff --git a/man/api/draw/ege_transform_rotate.htm b/man/api/draw/ege_transform_rotate.htm
index 78a469bc..54b2a1fa 100644
--- a/man/api/draw/ege_transform_rotate.htm
+++ b/man/api/draw/ege_transform_rotate.htm
@@ -1,15 +1,17 @@
ege_transform_rotate
+
-主页->库函数目录->绘制图形相关函数->ege_transform_rotate
+主页 / 库函数目录 / 图形绘制 / ege_transform_rotate
-功能:
+功能:
+
这个函数将坐标轴顺时针旋转angle度。
-声明:
+声明:
// 旋转坐标轴
void ege_transform_rotate(
@@ -17,15 +19,15 @@
PCIMAGE pimg = NULL //目标图像指针,NULL表示绘制到屏幕
);
-
-参数:
+参数:
(详见函数原型内的注释)
备注:该函数一般与ege_transform_translate(平移坐标轴)配合使用。
-返回值:
+返回值:
+
(无)
-示例:
+示例:
下面的代码将图片img沿中心点顺时针旋转45度后,复制到屏幕的中心:
ege_transform_matrix m;
diff --git a/man/api/draw/ege_transform_scale.htm b/man/api/draw/ege_transform_scale.htm
index a60c8099..0ddcadb9 100644
--- a/man/api/draw/ege_transform_scale.htm
+++ b/man/api/draw/ege_transform_scale.htm
@@ -1,15 +1,17 @@
ege_transform_scale
+
-主页->库函数目录->绘制图形相关函数->ege_transform_scale
+主页 / 库函数目录 / 图形绘制 / ege_transform_scale
-功能:
+功能:
+
这个函数将坐标轴沿X轴缩放scale_x倍,沿Y轴缩放scale_y倍。
-声明:
+声明:
// 缩放坐标轴
void ege_transform_scale(
@@ -18,14 +20,14 @@
PCIMAGE pimg = NULL //目标图像指针,NULL表示绘制到屏幕
);
-
-参数:
+参数:
(详见函数原型内的注释)
-返回值:
+返回值:
+
(无)
-示例:
+示例:
下面的代码将图片img沿中心点顺时针旋转45度后,复制到屏幕的中心:
ege_transform_matrix m;
diff --git a/man/api/draw/ege_transform_translate.htm b/man/api/draw/ege_transform_translate.htm
index e3c409f5..4da36b51 100644
--- a/man/api/draw/ege_transform_translate.htm
+++ b/man/api/draw/ege_transform_translate.htm
@@ -1,15 +1,17 @@
ege_transform_translate
+
-主页->库函数目录->绘制图形相关函数->ege_transform_translate
+主页 / 库函数目录 / 图形绘制 / ege_transform_translate
-功能:
+功能:
+
这个函数将坐标轴沿X轴平移x个像素,沿Y轴平移y个像素。
-声明:
+声明:
// 平移坐标轴
void ege_transform_translate(
@@ -18,14 +20,14 @@
PCIMAGE pimg = NULL //目标图像指针,NULL表示绘制到屏幕
);
-
-参数:
+参数:
(详见函数原型内的注释)
-返回值:
+返回值:
+
(无)
-示例:
+示例:
下面的代码将图片img沿中心点顺时针旋转45度后,复制到屏幕的中心:
ege_transform_matrix m;
diff --git a/man/api/draw/ellipse.htm b/man/api/draw/ellipse.htm
index cce9dca3..6726f776 100644
--- a/man/api/draw/ellipse.htm
+++ b/man/api/draw/ellipse.htm
@@ -1,15 +1,18 @@
ellipse
+
-主页->库函数目录->绘制图形相关函数->ellipse
+主页 / 库函数目录 / 图形绘制 / ellipse
-功能:
-这个函数用于画椭圆弧线。边线颜色由setcolor函数决定
+功能:
-声明:
+绘制椭圆弧线。
+线条颜色由 setcolor() 函数指定。
+
+声明:
void ellipse(
int x,
int y,
@@ -29,8 +32,7 @@
PIMAGE pimg = NULL
);
-
-参数:
+参数:
x
椭圆弧线的圆心 x 坐标。
@@ -49,10 +51,15 @@
yradius
椭圆弧线的 y 轴半径。
-返回值:
+pimg
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/fillcircle.htm b/man/api/draw/fillcircle.htm
index 3f404510..e4b87bf0 100644
--- a/man/api/draw/fillcircle.htm
+++ b/man/api/draw/fillcircle.htm
@@ -1,21 +1,26 @@
fillcircle
+
-主页->库函数目录->绘制图形相关函数->fillcircle
+主页 / 库函数目录 / 图形绘制 / fillcircle
-功能:
-这个函数用于画填充的圆。边线颜色由setcolor函数决定,填充颜色由setfillcolor函数决定。
-声明:
+功能:
+
+绘制填充圆。
+边线颜色由 setcolor() 函数指定,填充颜色由 setfillcolor() 函数指定。
+
+声明:
void fillcircle(
int x,
int y,
int radius,
PIMAGE pimg = NULL
);
+
void fillcirclef(
float x,
float y,
@@ -23,8 +28,8 @@
PIMAGE pimg = NULL
);
+参数:
-参数:
x
圆的圆心 x 坐标。
@@ -34,10 +39,15 @@
radius
圆的半径。
-返回值:
+pimg
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/fillellipse.htm b/man/api/draw/fillellipse.htm
index 9c296d4e..f2154395 100644
--- a/man/api/draw/fillellipse.htm
+++ b/man/api/draw/fillellipse.htm
@@ -1,15 +1,18 @@
fillellipse
+
-主页->库函数目录->绘制图形相关函数->fillellipse
+主页 / 库函数目录 / 图形绘制 / fillellipse
-功能:
-这个函数用于画填充的椭圆。边线颜色由setcolor函数决定,填充颜色由setfillcolor函数决定。
+功能:
-声明:
+绘制填充的椭圆。
+边线颜色由 setcolor() 函数指定,填充颜色由 setfillcolor() 函数指定。
+
+声明:
void fillellipse(
int x,
int y,
@@ -25,8 +28,7 @@
PIMAGE pimg = NULL
);
-
-参数:
+参数:
x
椭圆的圆心 x 坐标。
@@ -39,10 +41,15 @@
yradius
椭圆的 y 轴半径。
-返回值:
+pimg
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/fillpoly.htm b/man/api/draw/fillpoly.htm
index aca06053..46326a83 100644
--- a/man/api/draw/fillpoly.htm
+++ b/man/api/draw/fillpoly.htm
@@ -1,23 +1,25 @@
fillpoly
+
-主页->库函数目录->绘制图形相关函数->fillpoly
+主页 / 库函数目录 / 图形绘制 / fillpoly
-功能:
-这个函数用于画填充的多边形。边线颜色由setcolor函数决定,填充颜色由setfillcolor函数决定
+功能:
-声明:
+绘制填充的多边形。
+边线颜色由 setcolor() 函数指定,填充颜色由 setfillcolor() 函数指定。
+
+声明:
void fillpoly(
int numpoints,
const int *polypoints,
PIMAGE pimg = NULL
);
-
-参数:
+参数:
numpoints
多边形点的个数。
@@ -25,15 +27,20 @@
每个点的坐标,数组元素个数为 numpoints * 2。
该函数会自动连接多边形首尾。
-返回值:
+pimg
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
-说明:
+说明:
如果这个多边形发生自相交,那么自交次数为奇数的区域则不填充,偶数次的填充,不自交就是偶数次。不过这样说明相信非常难理解,以下给个例子:
-#include "graphics.h"
+#include <graphics.h>
int main()
{
initgraph(600, 400);
@@ -53,7 +60,7 @@
运行结果:
第二个例子:
-#include "graphics.h"
+#include <graphics.h>
int main()
{
diff --git a/man/api/draw/fillpoly_gradient.htm b/man/api/draw/fillpoly_gradient.htm
new file mode 100644
index 00000000..eae57260
--- /dev/null
+++ b/man/api/draw/fillpoly_gradient.htm
@@ -0,0 +1,49 @@
+
+
+ fillpoly
+
+
+
+
+主页 / 库函数目录 / 图形绘制 / fillpoly_gradient
+
+功能:
+
+绘制由渐变填充填充的多边形。
+边线颜色由 setcolor() 函数指定,根据指定点的颜色对多边形内部进行渐变填充。
+
+声明:
+void fillpoly_gradient(
+ int numpoints,
+ const ege_colpoint *polypoints,
+ PIMAGE pimg = NULL
+);
+
+参数:
+numpoints
+颜色点的个数。
+
+polypoints
+颜色点数组的首地址,数组元素个数为 numpoints。
+该函数会自动连接多边形首尾。
+
+pimg
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
+
+(无)
+
+示例:
+
+(无)
+
+说明:
+如果这个多边形发生自相交,那么自交次数为奇数的区域则不填充,偶数次的填充,不自交就是偶数次。
+
+
+
+
+
+
+
diff --git a/man/api/draw/fillrect.htm b/man/api/draw/fillrect.htm
index 0f478eb9..8ce12e4c 100644
--- a/man/api/draw/fillrect.htm
+++ b/man/api/draw/fillrect.htm
@@ -1,15 +1,18 @@
fillrect
+
-主页->库函数目录->绘制图形相关函数->fillrect
+主页 / 库函数目录 / 图形绘制 / fillrect
-功能:
-这个函数用于画填充矩形。其中,填充颜色由setfillcolor函数决定,边框颜色由setcolor函数决定
+功能:
-声明:
+绘制填充矩形。
+填充颜色由 setfillcolor() 函数指定,边框颜色由 setcolor() 函数指定。
+
+声明:
void fillrect(
int left,
int top,
@@ -18,8 +21,7 @@
PIMAGE pimg = NULL
);
-
-参数:
+参数:
left
矩形左部 x 坐标。
@@ -27,15 +29,20 @@
矩形上部 y 坐标。
right
-矩形右部 x 坐标(该点取不到,实际右边界为right-1)。
+矩形右部 x 坐标(该点取不到,实际右边界为 right-1 )。
bottom
-矩形下部 y 坐标(该点取不到,实际下边界为bottom-1)。
+矩形下部 y 坐标(该点取不到,实际下边界为 bottom-1 )。
+
+pimg
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/fillroundrect.htm b/man/api/draw/fillroundrect.htm
index 914dfb2e..e4351ab9 100644
--- a/man/api/draw/fillroundrect.htm
+++ b/man/api/draw/fillroundrect.htm
@@ -1,15 +1,18 @@
fillroundrect
+
-主页->库函数目录->绘制图形相关函数->fillroundrect
+主页 / 库函数目录 / 图形绘制 / fillroundrect
-功能:
-这个函数用于画填充圆角矩形。矩阵内部填充颜色由setfillcolor决定,边框颜色由setcolor函数决定
+功能:
-声明:
+绘制填充圆角矩形。
+矩阵内部填充颜色由 setfillcolor() 指定,边框颜色由 setcolor() 函数指定
+
+声明:
void fillroundrect(
int left,
int top,
@@ -20,8 +23,7 @@
PIMAGE pimg = NULL
);
-
-参数:
+参数:
left
矩形左部 x 坐标。
@@ -40,10 +42,14 @@
yradius
圆角的y方向半径
-返回值:
+pimg
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
+
(无)
-示例:
+示例:
见demo/ege5rectangles.cpp
diff --git a/man/api/draw/floodfill.htm b/man/api/draw/floodfill.htm
index cd61cf08..74439982 100644
--- a/man/api/draw/floodfill.htm
+++ b/man/api/draw/floodfill.htm
@@ -1,15 +1,18 @@
floodfill
+
-主页->库函数目录->绘制图形相关函数->floodfill
+主页 / 库函数目录 / 图形绘制 / floodfill
-功能:
-这个函数使用setfillstyle设置的填充方式对区域进行填充。填充颜色由setfillcolor函数决定。
+功能:
-声明:
+这个函数使用 setfillstyle() 设置的填充方式对区域进行填充。
+填充颜色由 setfillcolor() 函数指定。
+
+声明:
void floodfill(
int x,
int y,
@@ -17,8 +20,7 @@
PIMAGE pimg = NULL
);
-
-参数:
+参数:
x
填充的起始点 x 坐标。
@@ -28,10 +30,15 @@
border
填充的边界颜色。填充动作在该颜色围成的区域内填充。如果该颜色围成的区域不封闭,那么将使全屏幕都填充上。
-返回值:
+pimg
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/floodfillsurface.htm b/man/api/draw/floodfillsurface.htm
index e9f7c8c1..6b2ab497 100644
--- a/man/api/draw/floodfillsurface.htm
+++ b/man/api/draw/floodfillsurface.htm
@@ -1,15 +1,18 @@
floodfill
+
-主页->库函数目录->绘制图形相关函数->floodfillsurface
+主页 / 库函数目录 / 图形绘制 / floodfillsurface
-功能:
-这个函数使用setfillstyle设置的填充方式对区域进行填充。填充颜色由setfillcolor函数决定。
+功能:
-声明:
+这个函数使用 setfillstyle() 设置的填充方式对区域进行填充。
+填充颜色由 setfillcolor() 函数指定。
+
+声明:
void floodfillsurface(
int x,
int y,
@@ -17,8 +20,7 @@
PIMAGE pimg = NULL
);
-
-参数:
+参数:
x
填充的起始点 x 坐标。
@@ -28,10 +30,15 @@
areacolor
填充区域的原本颜色。等于该颜色且与起始点相连所构成的区域,由setfillcolor所设置的颜色来填充。
-返回值:
+pimg
+绘制的目标图像,默认为 NULL(即绘制到窗口)。
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/getfillcolor.htm b/man/api/draw/getfillcolor.htm
index ffe8baf7..3dc3a951 100644
--- a/man/api/draw/getfillcolor.htm
+++ b/man/api/draw/getfillcolor.htm
@@ -1,27 +1,33 @@
getfillcolor
+
-主页->库函数目录->绘制图形相关函数->getfillcolor
+主页 / 库函数目录 / 图形绘制 / getfillcolor
-功能:
-这个函数用于设置当前填充颜色。
+功能:
-声明:
+获取图像(窗口)的填充颜色。
+
+声明:
color_t getfillcolor(
- IMAGE* pimg = NULL
+ PCIMAGE pimg = NULL
);
+参数:
+
+pimg
+目标图像,默认值为 NULL(窗口)
-参数:
-(无)
-返回值:
+返回值:
+
当前的填充颜色
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/getheight.htm b/man/api/draw/getheight.htm
index 78777e53..2a153527 100644
--- a/man/api/draw/getheight.htm
+++ b/man/api/draw/getheight.htm
@@ -1,27 +1,32 @@
getheight
+
-主页->库函数目录->绘制图形相关函数->getheight
+主页 / 库函数目录 / 图形绘制 / getheight
-功能:
-这个函数用于获取图片高度。
+功能:
-声明:
+获取图像(窗口)的高度。
+
+声明:
int getheight(
- PIMAGE pimg = NULL
+ PCIMAGE pimg = NULL
);
+参数:
-参数:
-(无)
+pimg
+目标图像,默认值为 NULL(窗口)
+
+返回值:
+
+图像的高度。
-返回值:
-返回图片高度。
+示例:
-示例:
(无)
diff --git a/man/api/draw/getlinestyle.htm b/man/api/draw/getlinestyle.htm
index 7990cb2f..c145eabf 100644
--- a/man/api/draw/getlinestyle.htm
+++ b/man/api/draw/getlinestyle.htm
@@ -1,24 +1,26 @@
getlinestyle
+
-主页->库函数目录->绘制图形相关函数->getlinestyle
+主页 / 库函数目录 / 图形绘制 / getlinestyle
-功能:
-这个函数用于获取当前线形。
+
+功能:
-声明:
+获取当前线形。
+
+声明:
void getlinestyle(
- int *plinestyle,
- WORD *pupattern = NULL,
- int *pthickness = NULL,
- PIMAGE pimg = NULL
+ int *plinestyle,
+ unsigned short *pupattern = NULL,
+ in *pthickness = NULL,
+ PCIMAGE pimg = NULL
);
-
-参数:
+参数:
plinestyle
返回当前线型。详见 setlinestyle。
@@ -28,12 +30,18 @@
pthickness
返回当前线形宽度。
-返回值:
+pimg
+目标图像,默认值为 NULL(窗口)
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
+
diff --git a/man/api/draw/getpixel.htm b/man/api/draw/getpixel.htm
index 84f8b472..2c4bb1a4 100644
--- a/man/api/draw/getpixel.htm
+++ b/man/api/draw/getpixel.htm
@@ -1,33 +1,39 @@
getpixel
+
-主页->库函数目录->绘制图形相关函数->getpixel
+主页 / 库函数目录 / 图形绘制 / getpixel
-功能:
-这个函数用于获取像素点的颜色。
+功能:
-声明:
+获取图像上某个像素点的颜色 (ARGB)。
+
+声明:
color_t getpixel(
int x,
int y
- PIMAGE pimg = NULL
+ PCIMAGE pimg = NULL
);
-
-参数:
+参数:
x
要获取颜色的 x 坐标。
y
要获取颜色的 y 坐标。
-返回值:
+pimg
+目标图像,默认值为 NULL(窗口)
+
+返回值:
+
指定点的颜色。
-示例:
+示例:
+
(无)
其它说明:另有高速版的getpixel_f函数,参数一样,作用一样,但不进行相对坐标变换和边界检查(如果越界绘图,要么画错地方,要么程序结果莫名其妙,甚至直接崩溃),并且必须在批量绘图模式下才能使用,否则将发生不可预知的结果。
diff --git a/man/api/draw/getwidth.htm b/man/api/draw/getwidth.htm
index 65fa927a..2d363d57 100644
--- a/man/api/draw/getwidth.htm
+++ b/man/api/draw/getwidth.htm
@@ -1,25 +1,29 @@
getwidth
+
-主页->库函数目录->绘制图形相关函数->getwidth
+主页 / 库函数目录 / 图形绘制 / getwidth
-功能:
-这个函数用于获取图片宽度。
+功能:
-声明:
+获取图像宽度。
+
+声明:
int getwidth(
- PIMAGE pimg = NULL
+ PCIMAGE pimg = NULL
);
+参数:
-参数:
-(无)
+pimg
+目标图像,默认值为 NULL(窗口)
+
+返回值:
-返回值:
-返回图片宽度。
+图片宽度。
示例:
(无)
diff --git a/man/api/draw/getx.htm b/man/api/draw/getx.htm
index 821d5990..ae2cd8b9 100644
--- a/man/api/draw/getx.htm
+++ b/man/api/draw/getx.htm
@@ -1,27 +1,32 @@
getx
+
-主页->库函数目录->绘制图形相关函数->getx
+主页 / 库函数目录 / 图形绘制 / getx
-功能:
-这个函数用于获取当前 x 坐标。
+功能:
-声明:
+获取当前 x 坐标。
+
+声明:
int getx(
- PIMAGE pimg = NULL
+ PCIMAGE pimg = NULL
);
+参数:
-参数:
-(无)
+pimg
+目标图像,默认值为 NULL(窗口)
+
+返回值:
+
+当前 x 坐标。
-返回值:
-返回当前 x 坐标。
+示例:
-示例:
(无)
diff --git a/man/api/draw/gety.htm b/man/api/draw/gety.htm
index c84a1cfd..80248f29 100644
--- a/man/api/draw/gety.htm
+++ b/man/api/draw/gety.htm
@@ -1,27 +1,32 @@
gety
+
-主页->库函数目录->绘制图形相关函数->gety
+主页 / 库函数目录 / 图形绘制 / gety
-功能:
-这个函数用于获取当前 y 坐标。
+功能:
-声明:
+获取当前 y 坐标。
+
+声明:
int gety(
- PIMAGE pimg = NULL
+ PCIMAGE pimg = NULL
);
+参数:
-参数:
-(无)
+pimg
+目标图像,默认值为 NULL(窗口)
+
+返回值:
+
+当前 y 坐标。
-返回值:
-返回当前 y 坐标。
+示例:
-示例:
(无)
diff --git a/man/api/draw/index.htm b/man/api/draw/index.htm
index 8cacc89d..c6965458 100644
--- a/man/api/draw/index.htm
+++ b/man/api/draw/index.htm
@@ -1,104 +1,113 @@
- 绘制图形相关函数
+ 图形绘制
+
+
-主页->库函数目录->绘制图形相关函数
+主页 / 库函数目录 / 图形绘制
-普通绘图函数:
-
+
+特殊说明:
+ 以下所有函数的坐标模式为,如果以有向线段表示的量,起点能取到,终点取不到。比如 line() 函数,起点 (x1,y1)会绘制上点,终点 (x2,y2) 不会绘制。
+ 请注意,类似的有 lineto(), linerel(), bar(), bar3d(), rectangle(), ellipse(), sector(),函数说明内也会对本段进行补充。
+ 另外,这里每一个函数的最后一个参数均为一个 PIMAGE 的指针,是一个可选参数,如果不填或者填入 NULL,则绘制到当前绘图页。如果填上,则绘制到指定的图像。
+ 关于效率,如果使用手动渲染模式(setrendermode(RENDER_MANUAL)),那以上所有函数的执行速度都会得到提升。
-高级绘图函数(图形可透明,可带抗锯齿):
-
-函数或数据 | 说明 |
-ege_enable_aa | 抗锯齿设置 |
+普通绘图函数:
+
+
-ege_line | 画线 |
-ege_rectangle | 画矩形线框 |
-ege_arc | 画圆弧 |
-ege_ellipse | 画椭圆线框 |
-ege_pie | 画扇形线框 |
-ege_drawpoly | 画多边形线框 |
-eege_bezier | 画贝塞尔曲线 |
-ege_drawcurve | 画拟合曲线 |
+注:最低版本要求中的 ege dev 为 GitHub 开发版本,尚未正式发布。
+高级绘图函数(图形可设置透明度,可带抗锯齿):
-ege_fillrect | 画填充矩形 |
-ege_fillpie | 画填充扇形 |
-ege_fillpoly | 画填充多边形 |
-ege_fillellipse | 画填充椭圆 |
+
-特殊说明:
- 以下所有函数的坐标模式为,如果以有向线段表示的量,起点能取到,终点取不到。比如line函数,起点x1,y1能画上点,终点x2,y2不会画上点,请注意。类似的有lineto, linerel, bar, bar3d, rectangle, ellipse, sector,函数说明内也会对本段进行补充。
- 另外,这里每一个函数的最后一个参数均为一个PIMAGE的指针,是一个可选参数,如果不填,则绘画到当前页。如果填上,则绘画到指定的IMAGE。
- 关于效率,如果使用手动更新模式(setrendermode),那以上所有函数的执行速度都会得到提升。
+注:最低版本要求中的 ege dev 为 GitHub 开发版本,尚未正式发布。
diff --git a/man/api/draw/line.htm b/man/api/draw/line.htm
index 78a6ea42..999a81f7 100644
--- a/man/api/draw/line.htm
+++ b/man/api/draw/line.htm
@@ -1,15 +1,17 @@
line
+
-主页->库函数目录->绘制图形相关函数->line
+主页 / 库函数目录 / 图形绘制 / line
-功能:
-这个函数用于画线。
+功能:
-声明:
+绘制直线。
+
+声明:
void line(
int x1,
int y1,
@@ -18,8 +20,7 @@
PIMAGE pimg = NULL
);
-
-参数:
+参数:
x1
线的起始点的 x 坐标。
@@ -32,10 +33,15 @@
y2
线的终止点的 y 坐标(该点本身画不到)。
-返回值:
+pimg
+绘制的目标图像,默认为 NULL(即绘制到窗口)
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
其它说明:另有高速版的line_f函数,参数一样,作用一样,但不进行相对坐标变换和边界检查
diff --git a/man/api/draw/linerel.htm b/man/api/draw/linerel.htm
index b8124e2e..b9bb35de 100644
--- a/man/api/draw/linerel.htm
+++ b/man/api/draw/linerel.htm
@@ -1,33 +1,39 @@
linerel
+
-主页->库函数目录->绘制图形相关函数->linerel
+主页 / 库函数目录 / 图形绘制 / linerel
-功能:
-这个函数用于画线。
+功能:
-声明:
+在当前点和相对坐标的目标点之间绘制一条直线
+
+声明:
void linerel(
int dx,
int dy,
PIMAGE pimg = NULL
);
-
-参数:
+参数:
dx
从“当前点”cx开始画线,沿 x 轴偏移 dx,终点为cx+dx(终点本身画不到)。
dy
从“当前点”cy开始画线,沿 y 轴偏移 dy,终点为cy+dy(终点本身画不到)。
-返回值:
+pimg
+绘制的目标图像,默认为 NULL(即绘制到窗口)
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
其它说明:另有高速版的linerel_f函数,参数一样,作用一样,但不进行相对坐标变换和边界检查
diff --git a/man/api/draw/lineto.htm b/man/api/draw/lineto.htm
index a1c3cb08..89e18a19 100644
--- a/man/api/draw/lineto.htm
+++ b/man/api/draw/lineto.htm
@@ -1,33 +1,39 @@
lineto
+
-主页->库函数目录->绘制图形相关函数->lineto
+主页 / 库函数目录 / 图形绘制 / lineto
-功能:
-这个函数用于画线。
+功能:
-声明:
+在当前点和目标点之间绘制一条直线
+
+声明:
void lineto(
int x,
int y,
PIMAGE pimg = NULL
);
-
-参数:
+参数:
x
从“当前点”开始画线,终点横坐标为 x (终点本身画不到)。
y
从“当前点”开始画线,终点纵坐标为 y (终点本身画不到)。
-返回值:
+pimg
+绘制的目标图像,默认为 NULL(即绘制到窗口)
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
其它说明:另有高速版的lineto_f函数,参数一样,作用一样,但不进行相对坐标变换和边界检查
diff --git a/man/api/draw/moverel.htm b/man/api/draw/moverel.htm
index 6efe99a2..3e4926f5 100644
--- a/man/api/draw/moverel.htm
+++ b/man/api/draw/moverel.htm
@@ -1,33 +1,39 @@
moverel
+
-主页->库函数目录->绘制图形相关函数->moverel
+主页 / 库函数目录 / 图形绘制 / moverel
-功能:
-这个函数用于移动当前点。有些绘图操作会从“当前点”开始,这个函数可以设置该点。
+功能:
-声明:
+移动当前点。有些绘图操作会从“当前点”开始,这个函数可以设置该点。
+
+声明:
void moverel(
int dx,
int dy,
PIMAGE pimg = NULL
);
-
-参数:
+参数:
dx
将当前点沿 x 轴移动 dx。
dy
将当前点沿 y 轴移动 dy。
-返回值:
+pimg
+设置的图像,默认值为 NULL(窗口)
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/moveto.htm b/man/api/draw/moveto.htm
index 4a355048..0590dd15 100644
--- a/man/api/draw/moveto.htm
+++ b/man/api/draw/moveto.htm
@@ -1,33 +1,39 @@
moveto
+
-主页->库函数目录->绘制图形相关函数->moveto
+主页 / 库函数目录 / 图形绘制 / moveto
-功能:
-这个函数用于移动当前点。有些绘图操作会从“当前点”开始,这个函数可以设置该点。
+功能:
-声明:
+移动当前点。有些绘图操作会从“当前点”开始,这个函数可以设置该点。
+
+声明:
void moveto(
int x,
int y,
PIMAGE pimg = NULL
);
-
-参数:
+参数:
x
新的当前点 x 坐标。
y
新的当前点 y 坐标。
-返回值:
+pimg
+设置的图像,默认值为 NULL(窗口)
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/pieslice.htm b/man/api/draw/pieslice.htm
index 99dc6332..27cdbbd0 100644
--- a/man/api/draw/pieslice.htm
+++ b/man/api/draw/pieslice.htm
@@ -1,15 +1,17 @@
pieslice
+
-主页->库函数目录->绘制图形相关函数->pieslice
+主页 / 库函数目录 / 图形绘制 / pieslice
-功能:
-这个函数用于画填充圆扇形。
+功能:
-声明:
+画填充圆扇形。
+
+声明:
void pieslice(
int x,
int y,
@@ -27,8 +29,7 @@
PIMAGE pimg = NULL
);
-
-参数:
+参数:
x
圆扇形的圆心 x 坐标。
@@ -44,10 +45,15 @@
radius
圆扇形的半径。
-返回值:
+pimg
+绘制的目标图像,默认为 NULL(即绘制到窗口)
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/putpixel.htm b/man/api/draw/putpixel.htm
index 44371697..6fe7acde 100644
--- a/man/api/draw/putpixel.htm
+++ b/man/api/draw/putpixel.htm
@@ -1,15 +1,17 @@
putpixel
+
-主页->库函数目录->绘制图形相关函数->putpixel
+主页 / 库函数目录 / 图形绘制 / putpixel
-功能:
-这个函数用于画点。
+功能:
-声明:
+画点。
+
+声明:
void putpixel(
int x,
int y,
@@ -17,8 +19,7 @@
PIMAGE pimg = NULL
);
-
-参数:
+参数:
x
点的 x 坐标。
@@ -28,10 +29,15 @@
color
点的颜色。
-返回值:
+pimg
+绘制的目标图像,默认为 NULL(即绘制到窗口)
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
其它说明:另有高速版的putpixel_f函数,参数一样,作用一样,但不进行相对坐标变换和边界检查
diff --git a/man/api/draw/putpixel_savealpha.htm b/man/api/draw/putpixel_savealpha.htm
index 33d4ec0e..15e8b3ec 100644
--- a/man/api/draw/putpixel_savealpha.htm
+++ b/man/api/draw/putpixel_savealpha.htm
@@ -1,15 +1,17 @@
putpixel_savealpha
+
-主页->库函数目录->绘制图形相关函数->putpixel_savealpha
+主页 / 库函数目录 / 图形绘制 / putpixel_savealpha
-功能:
-这个函数用于设置像素点的颜色,同时保留该像素原有的alpha通道值。
+功能:
-声明:
+设置像素点的颜色。(仅改变 RGB 通道值,保留该像素原有的 alpha 通道值)。
+
+声明:
void putpixel_savealpha(
int x,
int y,
@@ -17,8 +19,7 @@
PIMAGE pimg = NULL
);
-
-参数:
+参数:
x
点的 x 坐标。
@@ -26,15 +27,17 @@
点的 y 坐标。
color
-点的颜色。
+像素点的 RGB 颜色(忽略 Alpha 值)。
pimg
-目标图像。NULL表示当前屏幕(窗口)。
+绘制的目标图像,默认为 NULL(即绘制到窗口)
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
其它说明:另有高速版的putpixel_savealpha_f函数,参数一样,作用一样,但不进行相对坐标变换和边界检查
diff --git a/man/api/draw/putpixel_withalpha.htm b/man/api/draw/putpixel_withalpha.htm
new file mode 100644
index 00000000..9392f201
--- /dev/null
+++ b/man/api/draw/putpixel_withalpha.htm
@@ -0,0 +1,51 @@
+
+
+ putpixel_withalpha
+
+
+
+
+主页 / 库函数目录 / 图形绘制 / putpixel_withalpha
+
+功能:
+
+绘制一个像素点(使用 ARGB 颜色,根据 alpha 进行混合)。
+
+声明:
+void putpixel_withalpha(
+ int x,
+ int y,
+ color_t color,
+ PIMAGE pimg = NULL
+);
+
+参数:
+x
+点的 x 坐标。
+
+y
+点的 y 坐标。
+
+color
+像素点的 ARGB 颜色。
+
+pimg
+绘制的目标图像,默认为 NULL(即绘制到窗口)
+
+返回值:
+
+(无)
+
+示例:
+
+(无)
+
+其它说明:另有高速版的 putpixel_withalpha_f 函数,参数一样,作用一样,但不进行相对坐标变换和边界检查
+(如果越界绘图,要么画错地方,要么程序结果莫名其妙,甚至直接崩溃)
+并且必须在窗口锁定绘图模式下才能使用,否则将发生不可预知的结果。
+
+
+
+
+
+
diff --git a/man/api/draw/putpixels.htm b/man/api/draw/putpixels.htm
index d01e9806..6aa86c7c 100644
--- a/man/api/draw/putpixels.htm
+++ b/man/api/draw/putpixels.htm
@@ -1,33 +1,39 @@
putpixels
+
-主页->库函数目录->绘制图形相关函数->putpixels
+主页 / 库函数目录 / 图形绘制 / putpixels
-功能:
-这个函数用于画多个点。
+功能:
-声明:
+画多个点。
+
+声明:
void putpixels(
int nPoint,
int* pPoints,
PIMAGE pimg = NULL
);
-
-参数:
+参数:
nPoint
点的数目。
pPoints
指向点的描述的指针,一个int型的数组,依次每三个int描述一个点:第一个为x坐标,第二个为y坐标,第三个为颜色值。
-返回值:
+pimg
+绘制的目标图像,默认为 NULL(即绘制到窗口)
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
其它说明:另有高速版的putpixels_f函数,参数一样,作用一样,但不进行相对坐标变换和边界检查
diff --git a/man/api/draw/rectangle.htm b/man/api/draw/rectangle.htm
index 8f28fdf7..e0f50fcc 100644
--- a/man/api/draw/rectangle.htm
+++ b/man/api/draw/rectangle.htm
@@ -1,15 +1,17 @@
rectangle
+
-主页->库函数目录->绘制图形相关函数->rectangle
+主页 / 库函数目录 / 图形绘制 / rectangle
-功能:
-这个函数用于画空心矩形。
+功能:
-声明:
+画空心矩形。
+
+声明:
void rectangle(
int left,
int top,
@@ -18,8 +20,7 @@
PIMAGE pimg = NULL
);
-
-参数:
+参数:
left
矩形左部 x 坐标。
@@ -32,10 +33,15 @@
bottom
矩形下部 y 坐标。
-返回值:
+pimg
+绘制的目标图像,默认为 NULL(即绘制到窗口)
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/roundrect.htm b/man/api/draw/roundrect.htm
index 2c7808c3..1971423c 100644
--- a/man/api/draw/roundrect.htm
+++ b/man/api/draw/roundrect.htm
@@ -1,15 +1,17 @@
roundrect
+
-主页->库函数目录->绘制图形相关函数->roundrect
+主页 / 库函数目录 / 图形绘制 / roundrect
-功能:
-这个函数用于画空心圆角矩形。矩阵边框颜色由setcolor函数决定
+功能:
-声明:
+画空心圆角矩形。边框颜色由 setcolor() 函数指定
+
+声明:
void roundrect(
int left,
int top,
@@ -20,8 +22,7 @@
PIMAGE pimg = NULL
);
-
-参数:
+参数:
left
矩形左部 x 坐标。
@@ -40,10 +41,14 @@
yradius
圆角的y方向半径
-返回值:
+pimg
+绘制的目标图像,默认为 NULL(即绘制到窗口)
+
+返回值:
+
(无)
-示例:
+示例:
见demo/ege5rectangles.cpp
diff --git a/man/api/draw/sector.htm b/man/api/draw/sector.htm
index 8370b9b5..b4ba2284 100644
--- a/man/api/draw/sector.htm
+++ b/man/api/draw/sector.htm
@@ -1,15 +1,17 @@
sector
+
-主页->库函数目录->绘制图形相关函数->sector
+主页 / 库函数目录 / 图形绘制 / sector
-功能:
-这个函数用于画填充椭圆扇形。
+功能:
-声明:
+画填充椭圆扇形。
+
+声明:
void sector(
int x,
int y,
@@ -29,8 +31,7 @@
PIMAGE pimg = NULL
);
-
-参数:
+参数:
x
椭圆扇形的圆心 x 坐标。
@@ -49,10 +50,15 @@
yradius
椭圆扇形的 y 轴半径。
-返回值:
+pimg
+绘制的目标图像,默认为 NULL(即绘制到窗口)
+
+返回值:
+
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/draw/setfillcolor.htm b/man/api/draw/setfillcolor.htm
index 9884d26d..7407547b 100644
--- a/man/api/draw/setfillcolor.htm
+++ b/man/api/draw/setfillcolor.htm
@@ -1,29 +1,35 @@
setfillcolor
+
-主页->库函数目录->绘制图形相关函数->setfillcolor
+主页 / 库函数目录 / 图形绘制 / setfillcolor
-功能:
-这个函数用于设置当前填充颜色。
+功能:
-声明:
+设置当前填充颜色。
+
+声明:
void setfillcolor(
color_t color,
PIMAGE pimg = NULL
);
+参数:
-参数:
color
填充颜色。
-返回值:
+pimg
+设置的图像,默认为 NULL(窗口)
+
+返回值:
+
(无)
-示例:
+示例:
设置填充色为蓝色
setfillcolor(BLUE);
diff --git a/man/api/draw/setfillstyle.htm b/man/api/draw/setfillstyle.htm
index 833399b3..ea47e47c 100644
--- a/man/api/draw/setfillstyle.htm
+++ b/man/api/draw/setfillstyle.htm
@@ -1,50 +1,57 @@
setfillstyle
+
-主页->库函数目录->绘制图形相关函数->setfillstyle
+主页 / 库函数目录 / 图形绘制 / setfillstyle
-功能:
-这个函数用于设置当前填充类型。该函数的自定义填充部分尚不支持。
+功能:
-声明:
+设置当前填充类型。该函数的自定义填充部分尚不支持。
+
+声明:
void setfillstyle(
int pattern,
color_t color,
PIMAGE pimg = NULL
);
+参数:
-参数:
pattern
填充类型,可以是以下宏或值:
-
-宏 | 值 | 含义 |
-EMPTY_FILL | 0 | 以背景色填充 |
-SOLID_FILL | 1 | 固实填充 |
-LINE_FILL | 2 | --- fill |
-LTSLASH_FILL | 3 | /// fill |
-SLASH_FILL | 4 | /// fill with thick lines |
-BKSLASH_FILL | 5 | \\\ fill with thick lines |
-LTBKSLASH_FILL | 6 | \\\ fill |
-HATCH_FILL | 7 | light hatch fill |
-XHATCH_FILL | 8 | heavy cross hatch fill |
-INTERLEAVE_FILL | 9 | interleaving line fill |
-WIDE_DOT_FILL | 10 | Widely spaced dot fill |
-CLOSE_DOT_FILL | 11 | Closely spaced dot fill |
-USER_FILL | 12 | user defined fill |
-
+
+宏 | 值 | 含义 |
+EMPTY_FILL | 0 | 以背景色填充 |
+SOLID_FILL | 1 | 固实填充 |
+LINE_FILL | 2 | --- fill |
+LTSLASH_FILL | 3 | /// fill |
+SLASH_FILL | 4 | /// fill with thick lines |
+BKSLASH_FILL | 5 | \\\ fill with thick lines |
+LTBKSLASH_FILL | 6 | \\\ fill |
+HATCH_FILL | 7 | light hatch fill |
+XHATCH_FILL | 8 | heavy cross hatch fill |
+INTERLEAVE_FILL | 9 | interleaving line fill |
+WIDE_DOT_FILL | 10 | Widely spaced dot fill |
+CLOSE_DOT_FILL | 11 | Closely spaced dot fill |
+USER_FILL | 12 | user defined fill |
+
color
填充颜色。
+pimg
+设置的图像,默认为 NULL(窗口)
+
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
设置蓝色固实填充:
setfillstyle(SOLID_FILL, BLUE);
diff --git a/man/api/draw/setlinestyle.htm b/man/api/draw/setlinestyle.htm
index 1b89f030..04ed7845 100644
--- a/man/api/draw/setlinestyle.htm
+++ b/man/api/draw/setlinestyle.htm
@@ -1,15 +1,17 @@
setlinestyle
+
-主页->库函数目录->绘制图形相关函数->setlinestyle
+主页 / 库函数目录 / 图形绘制 / setlinestyle
-功能:
-这个函数用于设置当前线形。
+功能:
-声明:
+设置当前线形。
+
+声明:
void setlinestyle(
int linestyle,
WORD upattern = NULL,
@@ -17,12 +19,13 @@
PIMAGE pimg = NULL
);
+参数:
-参数:
linestyle
线型,可以是以下值:
-
-值 | 含义 |
+
+
+值 | 含义 |
SOLID_LINE | 线形为实线。 |
CENTER_LINE | 线形为:------------ |
DOTTED_LINE | 线形为:·············· |
@@ -30,20 +33,23 @@
NULL_LINE | 线形为不可见。 |
USERBIT_LINE | 线形样式是自定义的,依赖于 upattern 参数。 |
-
upattern
自定义线形数据。
自定义规则:该数据为 WORD 类型,共 16 个二进制位,每位为 1 表示画线,为 0 表示空白。从低位到高位表示从起始到终止的方向。
仅当线型为 USERBIT_LINE 时该参数有效。
thickness
-线形宽度。
+线条宽度。
+
+pimg
+设置的图像,默认为 NULL(窗口)
+
+返回值:
-返回值:
(无)
-示例:
-设置线形为宽度为3像素的点划线: setlinestyle(DASHED_LINE, NULL, 3);
+示例:
+设置线形为线宽为 3 的点划线: setlinestyle(DASHED_LINE, NULL, 3);
diff --git a/man/api/draw/setlinewidth.htm b/man/api/draw/setlinewidth.htm
index c0712ca1..c22b09a5 100644
--- a/man/api/draw/setlinewidth.htm
+++ b/man/api/draw/setlinewidth.htm
@@ -1,26 +1,31 @@
setlinewidth
+
-主页->库函数目录->绘制图形相关函数->setlinewidth
+主页 / 库函数目录 / 图形绘制 / setlinewidth
-功能:
-这个函数用于设置当前线宽。
+功能:
-声明:
+设置当前线宽。
+
+声明:
void setlinewidth(
int thickness,
PIMAGE pimg = NULL
);
-
-参数:
+参数:
thickness
线形宽度。
-返回值:
+pimg
+设置的图像,默认为 NULL(窗口)
+
+返回值:
+
(无)
diff --git a/man/api/draw/setwritemode.htm b/man/api/draw/setwritemode.htm
index fc7aae53..bca31d09 100644
--- a/man/api/draw/setwritemode.htm
+++ b/man/api/draw/setwritemode.htm
@@ -1,25 +1,27 @@
setwritemode
+
-主页->库函数目录->绘制图形相关函数->setwritemode
+主页 / 库函数目录 / 图形绘制 / setwritemode
-功能:
-这个函数用于设置绘图位操作模式。
+功能:
-声明:
+设置绘图位操作模式。
+
+声明:
void setwritemode(
int mode.
PIMAGE pimg = NULL
);
-
-参数:
+参数:
mode
二元光栅操作码(即位操作模式),支持全部的 16 种二元光栅操作码,罗列如下:
-
-位操作模式 | 描述 |
+
+
+位操作模式 | 描述 |
R2_BLACK | 绘制出的像素颜色 = 黑色 |
R2_COPYPEN | 绘制出的像素颜色 = 当前颜色(默认) |
R2_MASKNOTPEN | 绘制出的像素颜色 = 屏幕颜色 AND (NOT 当前颜色) |
@@ -37,13 +39,17 @@
R2_WHITE | 绘制出的像素颜色 = 白色 |
R2_XORPEN | 绘制出的像素颜色 = 屏幕颜色 XOR 当前颜色 |
+pimg
+设置的图像,默认为 NULL(窗口)
注:1. AND / OR / NOT / XOR 为布尔位运算。2. "屏幕颜色"指绘制所经过的屏幕像素点的颜色。3. "当前颜色"是指通过 setcolor 设置的用于当前绘制的颜色。
-返回值:
+返回值:
+
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/env/cleardevice.htm b/man/api/env/cleardevice.htm
index 10c389cc..4b95d964 100644
--- a/man/api/env/cleardevice.htm
+++ b/man/api/env/cleardevice.htm
@@ -1,29 +1,32 @@
cleardevice
+
-主页->库函数目录->绘图环境相关函数->cleardevice
+主页 / 库函数目录 / 绘图环境 / cleardevice
-功能:
-这个函数用于清除画面内容。具体的,是用当前背景色清空画面。
+功能:
-声明:
+清除窗口(图像)内容(用当前设置的背景色填充整个图像)。
+
+声明:
void cleardevice(
PIMAGE pimg = NULL
);
+参数:
-参数:
pimg
-指定要清除的PIMAGE,可选参数。如果不填本参数,则清除屏幕。
+指定要清除的图像(默认值 NULL 表示窗口)。
+
+返回值:
-返回值:
(无)
-示例:
-#include "graphics.h"
+示例:
+#include <graphics.h>
int main()
{
initgraph(640, 480);
diff --git a/man/api/env/clearviewport.htm b/man/api/env/clearviewport.htm
index 786d8dc6..1074eb00 100644
--- a/man/api/env/clearviewport.htm
+++ b/man/api/env/clearviewport.htm
@@ -1,28 +1,31 @@
clearviewport
+
-主页->库函数目录->绘图环境相关函数->clearviewport
+主页 / 库函数目录 / 绘图环境 / clearviewport
-功能:
-这个函数用于清空视图。相当于对视图区进行cleardevice。
+功能:
-声明:
+清除视口区域内容(用背景色填充),相当于对视口区域进行 cleardevice() 操作。
+
+声明:
void clearviewport(
PIMAGE pimg = NULL
);
-
-参数:
+参数:
pimg
-见setviewport
+指定被清除视口区域内容的目标图像,默认值为 NULL(窗口)
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/env/closegraph.htm b/man/api/env/closegraph.htm
index 5350f5c5..39ca9696 100644
--- a/man/api/env/closegraph.htm
+++ b/man/api/env/closegraph.htm
@@ -1,25 +1,29 @@
closegraph
+
-主页->库函数目录->绘图环境相关函数->closegraph
+主页 / 库函数目录 / 绘图环境 / closegraph
-功能:
-这个函数用于关闭图形窗口。
+功能:
-声明:
-void closegraph();
+关闭图形环境。
-参数:
+声明:
+
+void closegraph();
+
+参数:
(无)
-返回值:
+返回值:
+
(无)
-示例:
-#include "graphics.h"
+示例:
+#include <graphics.h>
int main()
{
initgraph(640, 480);
diff --git a/man/api/env/gettarget.htm b/man/api/env/gettarget.htm
index 6b9aa430..024e5cf5 100644
--- a/man/api/env/gettarget.htm
+++ b/man/api/env/gettarget.htm
@@ -1,24 +1,28 @@
gettarget
+
-主页->库函数目录->绘图环境相关函数->gettarget
+主页 / 库函数目录 / 绘图环境 / gettarget
-功能:
-这个函数用于获取当前绘图对象。
+功能:
-声明:
+获取当前绘图目标。
+
+声明:
PIMAGE gettarget();
-参数:
+参数:
(无)
-返回值:
-PIMAGE对象,窗口则返回NULL
+返回值:
+
+当前作为绘图目标的图像。如果是窗口则返回 NULL。
+
+示例:
-示例:
(无)
diff --git a/man/api/env/getviewport.htm b/man/api/env/getviewport.htm
index 5ffc71cf..0f2004a1 100644
--- a/man/api/env/getviewport.htm
+++ b/man/api/env/getviewport.htm
@@ -1,15 +1,17 @@
getviewport
+
-主页->库函数目录->绘图环境相关函数->getviewport
+主页 / 库函数目录 / 绘图环境 / getviewport
-功能:
-这个函数用于获取当前视图的信息。
+功能:
-声明:
+获取当前视口区域的信息。
+
+声明:
void getviewport(
int *pleft,
int *ptop,
@@ -19,32 +21,27 @@
PIMAGE pimg = NULL
);
+参数:
-参数:
-pleft
-返回当前视图的左部 x 坐标。
-
-ptop
-返回当前视图的上部 y 坐标。
+
+ 参数 | 类型 | 说明 |
+ pleft | int* | 返回视口区域左边界的 x 坐标 |
+ ptop | int* | 返回视口区域上边界的 y 坐标 |
+ pright | int* | 返回视口区域右边界的 x 坐标 |
+ pbottom | int* | 返回视口区域下边界的 y 坐标 |
+ pclip | int* | 返回视口区域的裁剪标志。返回的值如果为 true,则超出视口区域的绘图将会被裁剪掉。false 则超出部分不做裁剪。 |
+ pimg | PIMAGE | 所获取视口区域信息的目标图像( NULL 为窗口) |
+
-pright
-返回当前视图的右部 x 坐标。
-pbottom
-返回当前视图的下部 y 坐标。
+返回值:
-pclip
-返回当前视图的裁剪标志。
+(无)
-pimg
-详见setviewport的说明
+示例:
-返回值:
(无)
-示例:
-参见setviewport
-
diff --git a/man/api/env/index.htm b/man/api/env/index.htm
index cc497fd6..bd27700a 100644
--- a/man/api/env/index.htm
+++ b/man/api/env/index.htm
@@ -1,37 +1,40 @@
- 绘图环境相关函数
+ 绘图环境
+
-
-主页->库函数目录->绘图环境相关函数
-
-目录:
-
-函数或数据 | 说明 |
-initgraph | 初始化绘图环境 |
-closegraph | 关闭图形环境 |
-cleardevice | 清除屏幕 |
-is_run | 判断窗口环境是否还在 |
-setcaption | 设置窗口标题 |
-setinitmode | 设置初始化参数 |
-setrendermode | 设置窗口更新模式 |
-
-gettarget | 获取当前绘图对象 |
-settarget | 设置当前绘图对象 |
-
-setviewport | 设置当前视图 |
-getviewport | 获取当前视图信息 |
-clearviewport | 清空视图 |
-
-setactivepage | 设置当前绘图页 |
-setvisualpage | 设置显示页,把页面内容输出到窗口的页 |
-
-window_getviewport | 获取当前窗口可见部分 |
-window_setviewport | 设置窗口可见部分 |
+
+主页 / 库函数目录 / 绘图环境
+
+
-
+注:最低版本要求中的 ege dev 为 GitHub 开发版本,尚未正式发布。
-
+
diff --git a/man/api/env/initgraph.htm b/man/api/env/initgraph.htm
index 7579cefc..a451867d 100644
--- a/man/api/env/initgraph.htm
+++ b/man/api/env/initgraph.htm
@@ -1,55 +1,82 @@
initgraph
+
-主页->库函数目录->绘图环境相关函数->initgraph
+主页 / 库函数目录 / 绘图环境 / initgraph
-功能:
-这个函数用于初始化绘图环境。
-
-声明:
-void initgraph(
- int Width,
- int Height,
- int Flag = INIT_DEFAULT
-);
+功能:
+
+初始化绘图环境。
+
+声明:
+
+void initgraph(
+ int width,
+ int height
+);
+
+void initgraph(
+ int width,
+ int height,
+ int initmode
+);
+
void initgraph(
int* gdriver,
int* gmode,
char* path
-); // 兼容 Borland C++ 3.1 的重载,不建议使用。
-
+); // 兼容 Borland C++ 3.1 的重载,不建议使用。
+
+参数:
+width
+创建的窗口中,绘图区域的宽度。如果为 -1,则窗口使用屏幕的宽度。
+
+height
+创建的窗口中,绘图区域的高度。如果为 -1,则窗口使用屏幕的高度。
-参数:
-Width
-绘图环境的宽度。如果为-1,则使用屏幕的宽度
+initmode
+初始化模式,每个二进制位控制是否启用某种模式(值为 0 表示仅使用普通窗口,不启用额外的模式)
+可以由以下模式进行组合:
-Height
-绘图环境的高度。如果为-1,则使用屏幕的高度
+
+ 初始化模式 | 值 | 说明 |
+ INIT_DEFAULT | 0x0 | 普通窗口 |
+ INIT_NOBORDER | 0x1 | 无边框窗口 |
+ INIT_CHILD | 0x2 | 子窗口,需配合 attachHWND() 函数 |
+ INIT_TOPMOST | 0x4 | 顶层窗口(不会被其它窗口遮挡) |
+ INIT_RENDERMANUAL | 0x8 | 手动渲染模式 |
+ INIT_NOFORCEEXIT | 0x10 | 退出时不强制结束程序,而是设置标志位,可由 is_run() 判断 当设置了 INIT_NOFORCEEXIT 模式后,用户进行关闭窗口操作时窗口不会关闭,程序也不会退出,此时 is_run() 返回 false。 同时 getch(), getmouse() 之类的阻塞性函数将不再阻塞,由于窗口没有主动关闭,所以后续需要在代码中自行做窗口关闭和程序退出的相关处理。 |
+ INIT_UNICODE (ege20.08 起) | 0x20 | 窗口使用 Unicode 字符集 |
+ INIT_HIDE (ege dev) | 0x40 | 窗口使用 Unicode 字符集 |
+ INIT_WITHLOGO | 0x100 | 带 EGE logo 出场动画 |
+
-Style
-窗口初始化模式,可以由以下值组合
-INIT_NOBORDER =0x1, //无边框窗口
-INIT_CHILD =0x2, //子窗口,需配合attachHWND()函数
-INIT_TOPMOST = 0x4, //顶层窗口(不会被其它窗口遮挡)
-INIT_RENDERMANUAL = 0x8, //手动渲染模式
-INIT_NOFORCEEXIT = 0x10, //退出时不强制结束程序,而是设置标志位,可由is_run()判断
-INIT_WITHLOGO = 0x100, //带EGE logo出场动画
+设定的组合模式:
+
+ 组合模式 | 说明 |
+ INIT_ANIMATION | INIT_RENDERMANUAL 与 INIT_NOFORCEEXIT 模式的组合,用于动画 |
+
-INIT_DEFAULT (默认值)
-配置目标为Debug时,为普通窗口, INIT_DEFAULT= 0x0 (Debug)
-配置目标为Realse时,带EGE logo出场动画, INIT_DEFAULT = INIT_WITHLOGO (Realse)
+说明:
-INIT_ANIMATION = INIT_DEFAULT | INIT_RENDERMANUAL | INIT_NOFORCEEXIT,
+ 只有两个参数的函数 initgraph(width, height) 并未指定初始化模式,如果在此之前已经由 setinitmode() 指定
+,那么使用其指定的初始化模式。如果尚未指定,那么 initgraph(width, height) 将在不同的编译模式下使用不同的初始化模式:
+
+ 编译模式 | 初始化模式 |
+ Debug | INIT_DEFAULT |
+ Release | INIT_WITHLOGO |
+
+
+返回值:
-返回值:
(无)
示例:
-#include "graphics.h"
+#include <graphics.h>
int main()
{
initgraph(640, 480);
@@ -64,6 +91,5 @@
-
diff --git a/man/api/env/is_run.htm b/man/api/env/is_run.htm
index 2459c95c..9d2b0f07 100644
--- a/man/api/env/is_run.htm
+++ b/man/api/env/is_run.htm
@@ -1,25 +1,35 @@
is_run
+
-主页->库函数目录->绘图环境相关函数->is_run
+主页 / 库函数目录 / 绘图环境 / is_run
-功能:
-这个函数用于判断窗口环境是否还存在。
-窗口初始化模式设置为INIT_NOFORCEEXIT时,is_run()才有效,否则程序运行时一直返回true
-声明:
-bool is_run();
+功能:
+
+ 判断窗口环境是否还在运行。
+
+说明:
+ 只有在初始化模式中设置了 INIT_NOFORCEEXIT 模式时 is_run() 返回值才有效,否则返回值
+一直为 true。
+ 当设置了 INIT_NOFORCEEXIT 模式后,用户进行关闭窗口操作时窗口不会关闭,程序也不会退
+出,仅仅是设置标志位,此时 is_run() 返回 false。
+ 同时 getch(), getmouse() 之类的阻塞性函数将不再阻塞,由于窗口没有主动关闭,所以后
+续需要在代码中自行做窗口关闭和程序退出的相关处理。
-参数:
+声明:
+bool is_run();
+参数:
(无)
-返回值:
-true 表示窗口环境还存在
-false 表示判断窗口环境不存在
+返回值:
+
+true: 表示窗口环境还在运行。
+false: 表示窗口环境将停止运行。
-示例:
+示例:
详见入门示例里的动画部分
diff --git a/man/api/env/movewindow.htm b/man/api/env/movewindow.htm
new file mode 100644
index 00000000..e9c58344
--- /dev/null
+++ b/man/api/env/movewindow.htm
@@ -0,0 +1,43 @@
+
+
+ movewindow
+
+
+
+
+主页 / 库函数目录 / 绘图环境 / movewindow
+
+功能:
+
+将窗口移动到屏幕指定位置 (x, y),移动后窗口左上角在屏幕上的坐标为 (x, y)
+
+声明:
+void movewindow(
+ int x,
+ int y,
+ bool redraw = true
+);
+
+参数:
+
+x
+目标位置在屏幕上的 x 坐标
+y
+目标位置在屏幕上的 坐标
+
+redraw
+是否要重绘窗口,默认为 true
+
+返回值:
+
+(无)
+
+示例:
+
+(无)
+
+
+
+
+
+
diff --git a/man/api/env/resizewindow.htm b/man/api/env/resizewindow.htm
new file mode 100644
index 00000000..2ed2f1fc
--- /dev/null
+++ b/man/api/env/resizewindow.htm
@@ -0,0 +1,42 @@
+
+
+ resizewindow
+
+
+
+
+主页 / 库函数目录 / 绘图环境 / resizewindow
+
+功能:
+
+改变窗口大小,将窗口的绘图区域宽度调整为 width,高度调整为 height
+
+声明:
+
+void resizewindow(
+ int width,
+ int height
+);
+
+参数:
+
+width
+窗口绘图区域宽度
+
+height
+窗口绘图区域高度
+
+
+返回值:
+
+(无)
+
+示例:
+
+(无)
+
+
+
+
+
+
diff --git a/man/api/env/setactivepage.htm b/man/api/env/setactivepage.htm
index 1315a512..6ab30e7f 100644
--- a/man/api/env/setactivepage.htm
+++ b/man/api/env/setactivepage.htm
@@ -1,25 +1,28 @@
setactivepage
+
-主页->库函数目录->绘图环境相关函数->setactivepage
+主页 / 库函数目录 / 绘图环境 / setactivepage
-功能:
-这个函数用于设置当前绘图页。
+功能:
-声明:
-void setactivepage(int page);
+设置当前绘图页。
-参数:
+声明:
+void setactivepage(int page);
+参数:
page
-绘图页,范围从0-3,越界会导致程序错误。默认值为0
+绘图页索引,一共 4 个绘图页,取值范围:[0, 3]。初始化环境后,当前绘图页默认为绘图页 0。
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/env/setcaption.htm b/man/api/env/setcaption.htm
index 528afeac..73d8084b 100644
--- a/man/api/env/setcaption.htm
+++ b/man/api/env/setcaption.htm
@@ -1,27 +1,31 @@
setcaption
+
-主页->库函数目录->绘图环境相关函数->setcaption
+主页 / 库函数目录 / 绘图环境 / setcaption
-功能:
-这个函数用设置窗口标题。
+功能:
-声明:
+设置窗口标题。
+
+声明:
void setcaption(LPCSTR caption);
void setcaption(LPCWSTR caption);
+参数:
-参数:
caption
-指定要设置的标题字符串,可用宽字符或MBCS字符串,需要使用gbk编码。
+指定要设置的标题字符串。
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/env/seticon.htm b/man/api/env/seticon.htm
new file mode 100644
index 00000000..569fa4ec
--- /dev/null
+++ b/man/api/env/seticon.htm
@@ -0,0 +1,32 @@
+
+
+ seticon
+
+
+
+
+主页 / 库函数目录 / 绘图环境 / seticon
+
+功能:
+
+设置窗口图标。
+
+声明:
+void seticon(int icon_id);
+参数:
+
+icon_id
+图标资源文件的id
+
+返回值:
+
+(无)
+
+示例:
+
+(无)
+
+
+
+
+
diff --git a/man/api/env/setinitmode.htm b/man/api/env/setinitmode.htm
index bbfc4a3c..82299974 100644
--- a/man/api/env/setinitmode.htm
+++ b/man/api/env/setinitmode.htm
@@ -1,41 +1,55 @@
setinitmode
+
-主页->库函数目录->绘图环境相关函数->setinitmode
+主页 / 库函数目录 / 绘图环境 / setinitmode
-功能:
-这个函数用于设置初始化图形的选项和模式。
+功能:
-声明:
+设置图形环境的初始化模式以及窗口位置。
+
+声明:
void setinitmode(int mode, int x = CW_USEDEFAULT, int y = CW_USEDEFAULT);
+参数:
-参数:
mode
-初始化模式,是二进制组合的值。如果为INIT_DEFAULT 表示使用默认值。
-普通窗口为 0 即可
-其它模式,可以使用以下值的组合:
-INIT_DEFAULT 默认参数,不调用本函数时即使用此参数
-INIT_NOBORDER 为无边框窗口
-INIT_CHILD 为子窗口(需要使用attachHWND指定要依附的父窗口,此函数不另说明)
-INIT_TOPMOST 使窗口总在最前
-INIT_RENDERMANUAL 手动更新标志,即调用delay_fps/delay_ms等会等待操作的函数时会更新窗口,否则保持窗口内容
-INIT_WITHLOGO 使initgraph的时候显示开场动画logo
-INIT_NOFORCEEXIT 使关闭窗口的时候不强制退出程序,但窗口会消失,需要配合is_run函数
-INIT_ANIMATION 是INIT_DEFAULT, INIT_RENDERMANUAL, INIT_NOFORCEEXIT的组合,用于动画编写
+初始化模式,每个二进制位控制是否启用某种模式(值为 0 表示仅使用普通窗口,不启用额外的模式)
+可以由以下模式进行组合:
+
+
+ 初始化模式 | 值 | 说明 |
+ INIT_DEFAULT | 0x0 | 普通窗口 |
+ INIT_NOBORDER | 0x1 | 无边框窗口 |
+ INIT_CHILD | 0x2 | 子窗口,需配合 attachHWND() 函数 |
+ INIT_TOPMOST | 0x4 | 顶层窗口(不会被其它窗口遮挡) |
+ INIT_RENDERMANUAL | 0x8 | 手动渲染模式 |
+ INIT_NOFORCEEXIT | 0x10 | 退出时不强制结束程序,而是设置标志位,可由 is_run() 判断 当设置了 INIT_NOFORCEEXIT 模式后,用户进行关闭窗口操作时窗口不会关闭,程序也不会退出,此时 is_run() 返回 false。 同时 getch(), getmouse() 之类的阻塞性函数将不再阻塞,由于窗口没有主动关闭,所以后续需要在代码中自行做窗口关闭和程序退出的相关处理。 |
+ INIT_UNICODE (ege20.08 起) | 0x20 | 窗口使用 Unicode 字符集 |
+ INIT_HIDE (ege dev) | 0x40 | 窗口使用 Unicode 字符集 |
+ INIT_WITHLOGO | 0x100 | 带 EGE logo 出场动画 |
+
+
+设定的组合模式:
+
+ 组合模式 | 说明 |
+ INIT_ANIMATION | INIT_RENDERMANUAL 与 INIT_NOFORCEEXIT 模式的组合,用于动画 |
+
x, y
-初始化时窗口左上角在屏幕的坐标,默认为系统分配。
+初始化后,窗口左上角在屏幕上的坐标,默认为系统分配。
+
+返回值:
-返回值:
(无)
-说明:
-本函数只能在initgraph前调用。
+说明:
+
+本函数只在 initgraph() 前调用有效。
-示例:
+示例:
setinimode(0, 100, 50); //左上角在屏幕坐标(100, 50)处的普通窗口
diff --git a/man/api/env/setrendermode.htm b/man/api/env/setrendermode.htm
index 2ffb0fbf..6575f225 100644
--- a/man/api/env/setrendermode.htm
+++ b/man/api/env/setrendermode.htm
@@ -1,27 +1,34 @@
setrendermode
+
-主页->库函数目录->绘图环境相关函数->setrendermode
+主页 / 库函数目录 / 绘图环境 / setrendermode
-功能:
-这个函数用于设置更新窗口的模式,模式有两种,自动更新和手动更新
+功能:
-声明:
+设置渲染模式,指定更新窗口的方式:自动和手动。
+
+声明:
void setrendermode(rendermode_e mode);
-参数:
+参数:
+
mode
-值可能为RENDER_AUTO或者RENDER_MANUAL,前者自动(默认值),后者手动
-自动模式用于简单绘图,手动模式用于制作动画或者游戏
-所谓手动模式,即需要调用delay_fps/delay_ms等带有等待特性的函数时才会更新窗口
+渲染模式,有以下两个值:
+
+ 模式 | 说明 |
+ RENDER_AUTO (默认) | 自动渲染模式,用于简单绘图,自动更新窗口 |
+ RENDER_MANUAL (推荐) | 手动渲染模式,用于复杂绘图、制作动画和游戏等,需要调用 delay_fps()/delay_ms() 等带有等待特性的函数时才会更新窗口,可减少闪烁 |
+
+返回值:
-返回值:
(无)
-示例::
-(无)
+示例:
+
+setrendermode(RENDER_MANUAL);
diff --git a/man/api/env/settarget.htm b/man/api/env/settarget.htm
index 7125ea0b..f7e36a35 100644
--- a/man/api/env/settarget.htm
+++ b/man/api/env/settarget.htm
@@ -1,25 +1,29 @@
settarget
+
-主页->库函数目录->绘图环境相关函数->settarget
+主页 / 库函数目录 / 绘图环境 / settarget
-功能:
-这个函数用于设置当前绘图对象。
+功能:
-声明:
+设置当前绘图目标。
+
+声明:
void settarget(PIMAGE pbuf = NULL);
+参数:
-参数:
pbuf
-绘图对象,为PIMAGE类型,你要绘画到的PIMAGE,如果不填,则还原为窗口
+绘图目标图像。参数为 NULL 时目标为窗口。
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/env/setviewport.htm b/man/api/env/setviewport.htm
index 182b57e5..06ea8b5c 100644
--- a/man/api/env/setviewport.htm
+++ b/man/api/env/setviewport.htm
@@ -1,15 +1,17 @@
setviewport
+
-主页->库函数目录->绘图环境相关函数->setviewport
+主页 / 库函数目录 / 绘图环境 / setviewport
-功能:
-这个函数用于设置当前视图。并且,将坐标原点移动到新的视图的 (0, 0) 位置。
+功能:
-声明:
+设置窗口(图像)的视口区域,并将视口区域左上角的位置设置为坐标系原点。
+
+声明:
void setviewport(
int left,
int top,
@@ -19,26 +21,25 @@
PIMAGE pimg = NULL
);
+参数:
+
+
+ 参数 | 类型 | 说明 |
+ left | int | 视口区域左边界的 x 坐标 |
+ top | int | 视口区域上边界的 y 坐标 |
+ right | int | 视口区域右边界的 x 坐标 |
+ bottom | int | 视口区域下边界的 y 坐标 |
+ clip | int | 视口区域的裁剪标志。如果为 true,则超出视口区域的绘图将会被裁剪掉。 |
+ pimg | PIMAGE | 设置视口区域的目标图像( NULL 为窗口) |
+
+设置视口区域后,区域左上角坐标 (left, top) 将成为新的原点,右下角坐标为 (right-1, bottom-1)。
+
+返回值:
-参数:
-left
-视图的左部 x 坐标。
-top
-视图的上部 y 坐标。(left, top) 将成为新的原点。
-right
-视图的右部 x 坐标。
-bottom
-视图的下部 y 坐标。(right-1, bottom-1) 是视图的右下角坐标。
-clip
-视图的裁剪标志。如果为真,所有超出视图区域的绘图都会被裁剪掉。
-pimg
-要设置的图片
-
-返回值:
(无)
-示例:
-#include "graphics.h"
+示例:
+#include <graphics.h>
int main()
{
initgraph(640, 480);
@@ -48,8 +49,6 @@
closegraph();
return 0;
}
-注意:
-右端点和下端点取不到,上端点和左端点能取到。另外,这函数的最后一个参数为一个IMAGE*的指针,是一个可选参数,如果不填,则设置到当前页。如果填上,则设置到指定的IMAGE。
diff --git a/man/api/env/setvisualpage.htm b/man/api/env/setvisualpage.htm
index da32a79f..58ec31a2 100644
--- a/man/api/env/setvisualpage.htm
+++ b/man/api/env/setvisualpage.htm
@@ -1,25 +1,29 @@
setvisualpage
+
-主页->库函数目录->绘图环境相关函数->setvisualpage
+主页 / 库函数目录 / 绘图环境 / setvisualpage
-功能:
-这个函数用于设置当前显示页,显示页是输出到窗口的页。
+功能:
-声明:
+设置要显示到窗口的绘图页。
+
+声明:
void setvisualpage(int page);
+参数:
-参数:
page
-绘图页,范围从,范围从0-3,越界会导致程序错误。默认值为0
+绘图页索引,一共 4 个绘图页,取值范围:[0, 3]。初始化环境后,默认显示绘图页 0。
+
+返回值:
-返回值:
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/env/window_getviewport.htm b/man/api/env/window_getviewport.htm
index 04127747..2c5156e9 100644
--- a/man/api/env/window_getviewport.htm
+++ b/man/api/env/window_getviewport.htm
@@ -1,15 +1,17 @@
window_getviewport
+
-主页->库函数目录->绘图环境相关函数->window_getviewport
+主页 / 库函数目录 / 绘图环境 / window_getviewport
-功能:
-这个函数用于获取当前窗口可见区域。
+功能:
-声明:
+获取当前窗口可见区域。
+
+声明:
void window_getviewport(
int *pleft,
int *ptop,
@@ -17,8 +19,7 @@
int *pbottom,
);
-
-参数:
+参数:
pleft
返回当前视图的左部 x 坐标。
@@ -32,10 +33,12 @@
pbottom
返回当前视图的下部 y 坐标。
-返回值:
+返回值:
+
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/env/window_setviewport.htm b/man/api/env/window_setviewport.htm
index ba4cc68b..3f913f44 100644
--- a/man/api/env/window_setviewport.htm
+++ b/man/api/env/window_setviewport.htm
@@ -1,15 +1,17 @@
window_setviewport
+
-主页->库函数目录->绘图环境相关函数->window_setviewport
+主页 / 库函数目录 / 绘图环境 / window_setviewport
-功能:
-这个函数用于设置当前窗口可见区域。
+功能:
-声明:
+设置当前窗口可见区域。
+
+声明:
void window_setviewport(
int left,
int top,
@@ -17,8 +19,7 @@
int bottom
);
-
-参数:
+参数:
left
可见区域的左部 x 坐标。
top
@@ -28,11 +29,12 @@
bottom
可见区域的下部 y 坐标。(right-1, bottom-1) 是视图的右下角坐标。
-返回值:
+返回值:
+
(无)
-示例:
-#include "graphics.h"
+示例:
+#include <graphics.h>
int main()
{
initgraph(640, 480);
diff --git a/man/api/font/ege_drawtext.htm b/man/api/font/ege_drawtext.htm
new file mode 100644
index 00000000..0720d7cf
--- /dev/null
+++ b/man/api/font/ege_drawtext.htm
@@ -0,0 +1,52 @@
+
+
+ xyprintf
+
+
+
+
+主页 / 库函数目录 / 文字输出 / ege_drawtext
+
+功能:
+
+在指定位置格式化输出字符串。文本颜色使用 ARGB 颜色,由 setcolor() 指定。
+
+声明:
+void ege_drawtext(
+ LPCSTR format,
+ int x,
+ int y,
+ ...
+);
+void ege_drawtext(
+ LPCWSTR format,
+ int x,
+ int y,
+ ...
+);
+
+参数:
+
+format
+格式字符串。
+
+x
+字符串输出时头字母的 x 轴的坐标值
+
+y
+字符串输出时头字母的 y 轴的坐标值。
+
+...
+要输出的内容的参数,类似 printf。
+
+返回值:
+
+(无)
+
+示例:
+无
+
+
+
+
+
diff --git a/man/api/font/getfont.htm b/man/api/font/getfont.htm
index e8abd610..a21d3c2c 100644
--- a/man/api/font/getfont.htm
+++ b/man/api/font/getfont.htm
@@ -1,28 +1,31 @@
getfont
+
-主页->库函数目录->文字输出相关函数->getfont
+主页 / 库函数目录 / 文字输出 / getfont
-功能:
-这个函数用于获取当前字体样式
+功能:
-声明:
+获取当前字体样式
+
+声明:
void getfont(
LOGFONT *font
- PIMAGE pimg = NULL
+ PCIMAGE pimg = NULL
);
-
-参数:
+参数:
font
指向 LOGFONT 结构体的指针。
-返回值:
+返回值:
+
(无)
-示例:
+示例:
+
(无)
diff --git a/man/api/font/index.htm b/man/api/font/index.htm
index 83ad24c8..340c8bb8 100644
--- a/man/api/font/index.htm
+++ b/man/api/font/index.htm
@@ -1,30 +1,37 @@
- 文字输出相关函数
+ 文字输出
+
-主页->库函数目录->文字输出相关函数
-目录:
-
+
+
+主页 / 库函数目录 / 文字输出
+
+特殊说明:
+ 这里部分函数的最后一个参数为一个 PIMAGE 的参数,是一个可选参数。
+ 如果不填,则绘画到当前页。如果填上,则设置或者绘画到指定的 IMAGE。
-特殊说明:
- 这里部分函数的最后一个参数为一个PIMAGE的参数,是一个可选参数,如果不填,则绘画到当前页。如果填上,则设置或者绘画到指定的IMAGE。
+
+注:最低版本要求中的 ege dev 为 GitHub 开发版本,尚未正式发布。
+
diff --git a/man/api/font/logfont.htm b/man/api/font/logfont.htm
index 89cf945e..6963865a 100644
--- a/man/api/font/logfont.htm
+++ b/man/api/font/logfont.htm
@@ -1,15 +1,17 @@
logfont
+
-主页->库函数目录->文字输出相关函数->LOGFONT 结构体
+主页 / 库函数目录 / 文字输出 / LOGFONT 结构体
-功能:
+功能:
+
这个结构体定义了字体的属性。
-声明:
+声明:
struct LOGFONT {
LONG lfHeight;
LONG lfWidth
@@ -27,44 +29,53 @@
TCHAR lfFaceName[LF_FACESIZE];
};
-成员
-lfHeight
+成员
+
+lfHeight
指定高度(逻辑单位)。
如果为正,表示指定的高度是字体的完整高度;如果为负,表示指定的高度不包含tmInternalLeading的高度。也就是说相同绝对值下,负的比正的会稍高一些;而实际输出的字体高度,正数时精确匹配,负数时,和实际略有偏差,绝对值比实际的略小。
-lfWidth
+
+lfWidth
指定字符的平均宽度(逻辑单位)。如果为 0,则比例自适应。
-lfEscapement
+
+lfEscapement
字符串的书写角度,单位 0.1 度,默认为 0。
-lfOrientation
+
+lfOrientation
每个字符的书写角度,单位 0.1 度,默认为 0。
-lfWeight
+
+lfWeight
字符的笔画粗细,范围 0~1000,0 表示默认粗细,使用数字或下表中定义的宏均可。
-
-宏 | 粗细值 |
-FW_DONTCARE | 0 |
-FW_THIN | 100 |
-FW_EXTRALIGHT | 200 |
-FW_ULTRALIGHT | 200 |
-FW_LIGHT | 300 |
-FW_NORMAL | 400 |
-FW_REGULAR | 400 |
-FW_MEDIUM | 500 |
-FW_SEMIBOLD | 600 |
-FW_DEMIBOLD | 600 |
-FW_BOLD | 700 |
-FW_EXTRABOLD | 800 |
-FW_ULTRABOLD | 800 |
-FW_HEAVY | 900 |
-FW_BLACK | 900
+
+
+宏 | 粗细值 |
+FW_DONTCARE | 0 |
+FW_THIN | 100 |
+FW_EXTRALIGHT | 200 |
+FW_ULTRALIGHT | 200 |
+FW_LIGHT | 300 |
+FW_NORMAL | 400 |
+FW_REGULAR | 400 |
+FW_MEDIUM | 500 |
+FW_SEMIBOLD | 600 |
+FW_DEMIBOLD | 600 |
+FW_BOLD | 700 |
+FW_EXTRABOLD | 800 |
+FW_ULTRABOLD | 800 |
+FW_HEAVY | 900 |
+FW_BLACK | 900
|
-lfItalic
+lfItalic
指定字体是否是斜体。
-lfUnderline
+
+lfUnderline
指定字体是否有下划线。
-lfStrikeOut
+
+lfStrikeOut
指定字体是否有删除线。
-lfCharSet
+
+lfCharSet
指定字符集。以下是预定义的值:
ANSI_CHARSET
BALTIC_CHARSET
@@ -80,13 +91,14 @@
SHIFTJIS_CHARSET
SYMBOL_CHARSET
TURKISH_CHARSET
+
其中,OEM_CHARSET 表示字符集依赖本地操作系统。
DEFAULT_CHARSET 表示字符集基于本地操作系统。例如,系统位置是 English (United States),字符集将设置为 ANSI_CHARSET。
-lfOutPrecision
+lfOutPrecision
指定文字的输出精度。输出精度定义输出与所请求的字体高度、宽度、字符方向、行距、间距和字体类型相匹配必须达到的匹配程度。可以是以下值:
-
-值 | 含义 |
+
+值 | 含义 |
OUT_DEFAULT_PRECIS | 指定默认的映射行为。 |
OUT_DEVICE_PRECIS | 当系统包含多个名称相同的字体时,指定设备字体。 |
OUT_OUTLINE_PRECIS | 指定字体映射选择 TrueType 和其它的 outline-based 字体。 |
@@ -96,19 +108,20 @@
OUT_TT_ONLY_PRECIS | 指定字体映射只选择 TrueType 字体。如果系统中没有安装 TrueType 字体,将选择默认操作。 |
OUT_TT_PRECIS | 当系统包含多个名称相同的字体时,指定 TrueType 字体。
|
-lfClipPrecision
+lfClipPrecision
指定文字的剪辑精度。剪辑精度定义如何剪辑字符的一部分位于剪辑区域之外的字符。可以是以下值:
-
-值 | 含义 |
+
+值 | 含义 |
CLIP_DEFAULT_PRECIS | 指定默认的剪辑行为。 |
CLIP_STROKE_PRECIS | 这个值并不能用于指定字体映射,只是指定光栅(即点阵)、矢量或 TrueType 字体的枚举数据。 |
CLIP_EMBEDDED | 当使用内嵌的只读字体时,必须指定这个标志。 |
CLIP_LH_ANGLES | 如果指定了该值,所有字体的旋转都依赖于坐标系统的方向是逆时针或顺时针。如果没有指定该值,设备字体始终逆时针旋转,但是其它字体的旋转依赖于坐标系统的方向。该设置影响 lfOrientation 参数的效果。
|
-lfQuality
+
+lfQuality
指定文字的输出质量。输出质量定义图形设备界面 (GDI) 必须尝试将逻辑字体属性与实际物理字体的字体属性进行匹配的仔细程度。可以是以下值:
-
-值 | 含义 |
+
+值 | 含义 |
ANTIALIASED_QUALITY | 指定输出质量是抗锯齿的(如果字体支持)。 |
DEFAULT_QUALITY | 指定输出质量不重要。 |
DRAFT_QUALITY | 草稿质量。字体的显示质量是不重要的。对于光栅字体(即点阵字体),缩放是有效的,这就意味着可以使用更多的尺寸,但是显示质量并不高。如果需要,粗体、斜体、下划线和删除线字体会被合成。 |
@@ -117,18 +130,20 @@
如果 ANTIALIASED_QUALITY 和 NONANTIALIASED_QUALITY 都未被选择,抗锯齿效果将依赖于控制面板中字体抗锯齿的设置。
-lfPitchAndFamily
+lfPitchAndFamily
指定以常规方式描述字体的字体系列。字体系列描述大致的字体外观。字体系列用于在所需精确字体不可用时指定字体。
1~2 位指定字体间距,可以是以下值:
- |