    主页-＞关于本EGE图形库

    相关信息：
    作者：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

    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一致

    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：
    ★第一版发布测试