| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1926 人关注过本帖
标题:[分享]给大家透露一个消息吧
取消只看楼主 加入收藏
RockCarry
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:13
帖 子:662
专家分:58
注 册:2005-8-5
结帖率:95.65%
收藏
 问题点数:0 回复次数:2 
[分享]给大家透露一个消息吧

在国庆节我将会发布自己开发已久的 RGE 中的图形功能模块 Draw2D。目前 RGE.Graphics.Draw2D 的所有预定义的接口都已经完整地实现了。
还剩下文档的书写和部分接口的测试工作没有完成。RGE.Graphics.Draw2D 可谓是精心设计,届时将会公开发布全部源代码。
在 Draw2D 发布之后,我会进行 RGE.Input 和 RGE.Audio 两大模块的开发。

Draw2D Features
----------------
1. 通用的与平台无关的可绘制对象 BMP
2. 支持256色、16位色和24位色三种像素格式
3. 完善的颜色管理,方便的进行像素格式,色彩空间的转换
4. 支持完善的256色调色板操作,包括左移、右移、随机化、灰度化、调色板魔术、调色板颜色管理等功能
5. 支持 VGA 13H 和 SVGA 640x480x256 视频模式,目前提供 VGA_BMP_DRV 和 VESA_BMP_DRV
6. 提出了抽象的显示驱动接口(BMPDRV),只需要加入新的驱动,即可支持更多的视频模式
7. 支持常规的线性内存、EMS 页式内存、VESA 页式内存等内存模式
8. 提出了抽象的可扩展的页式内存的概念,只需要加入新的驱动,即可支持更多的内存模式
9. 提供了一组页式内存的操作函数,包括读、写、拷贝等操作函数,方便的管理页式内存
10. 绘图函数支持点、线、矩形、圆、bar、多边形、点阵字模的绘制
11. 提供了 gridbar 函数用于实现快速的伪 Alpha Blending
12. 所有的绘图函数都支持自动的像素格式转换
13. 所有的绘图函数都支持 XOR_PUT、AND_PUT、OR_PUT、NOT_PUT 等输出方式
14. 所有的绘图函数都支持 256 级的 Alpha Blending
15. 所有的绘图函数都支持使用 2D 齐次变换矩阵进行几何变换
16. 用户可以自由的扩展绘图函数的像素变换方式(drawmethod extending)
17. 方便实用的点阵字体功能,提供中英文点阵字库,支持中英文混合输出,提供 FONT12、FONT16 和 FONT24 三种字体,用户可以根据自己的需要自定义任意大小的字体
18. 提供 TEXTBOX 对象,用于在矩形区域里面方便的进行文字输出,支持自动换行等功能
19. 完善的 BitBlt 函数集,提供了以下的位块传送函数:
blt: 通用的位块传送,自动进行像素格式转换,支持不同像素格式 BMP 之间的相互操作
maskblt: 通用的带屏蔽色的位块传送,自动进行像素格式转换
advancedblt: 通用的高级的位块传送,支持 Alpha Blending,几何变换和像素变换等特性
palblt: 通用的带调色板转换功能的位块传送,用于调色板模式的 BMP 的 blt 操作
stretchblt: 通用的带缩放功能的位块传送,采用最近邻算法,可以支持任意大小的缩放
fastblt: 快速的位块传送
fastmaskblt: 快速的带屏蔽色的位块传送
20. 支持256色、16位色和24位色 BMP 图片文件加载到 BMP 对象,和 BMP 对象保存到 BMP 图片文件
21. 提供了两幅256色调色板位图进行调色板匹配的功能函数
22. 提供了一个简洁易用的 Animate 对象,用于实现简单的动画效果
23. 免费赠送一款方便实用的中英文点阵字库生成工具
24. 免费赠送一款带有 make 工具的 Turbo C 命令行编译器


RockCarry
2007-9-6

[此贴子已经被作者于2007-9-23 8:27:49编辑过]

搜索更多相关主题的帖子: 分享 
2007-09-06 00:39
RockCarry
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:13
帖 子:662
专家分:58
注 册:2005-8-5
收藏
得分:0 
RGE 目前的设计还算可以,但是现在有许多地方越来越觉得不满意了。
由于太过执著于跨平台的设计,以及对各种显示模式的支持,导致了许多问题。
在设计初期,我就一再提醒自己保证系统的简单,但是又希望把它做成一个通用库,这本身就是一个矛盾。
其实一开始就不应该将其定位为通用库,过度的执著写通用库和过度的设计,就是违反了 KISS 原则。
最终只会延长开发的周期和维护的代价。
另外通用库致命的弱点就是,很难进行优化,最终导致性能的地下。
尽管如此,还是要发布的,希望不会让大家失望,因为我自己都感觉失望了。

[此贴子已经被作者于2007-9-22 11:45:45编辑过]

2007-09-22 11:32
RockCarry
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:13
帖 子:662
专家分:58
注 册:2005-8-5
收藏
得分:0 

今天把 Draw2D 的一些 feature 先贴出来。
见1楼。

2007-09-23 08:29
快速回复:[分享]给大家透露一个消息吧
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027314 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved