捐赠 | 广告 | 注册 | 发布 | 上传 | 关于我们    
  沪ICP备05001939号 DELPHI盒子 | 盒子论坛 | 盒子文章 | 盒子问答悬赏 | 最新更新 | 论坛检索 | 下载中心 | 高级搜索    
  精品专区 | 繁體中文 | 奖励公告栏 | 直通车账号登陆 | 关闭GOOGLE广告 | 临时留言    
盒子资源分类
全部展开 - 全部合拢
硬件加速的GLCanvas画布
关键字:opengl gdi gdip canvas 画布
来 自:原创
平 台:Win2k/XP/NT,Win2003,Vista 下载所需:0 火柴
深浅度:中级 完成时间:2010/1/2
发布者:wqyfavor 发布时间:2010/1/5
编辑器:DELPHI7 语  种:简体中文
分 类:图形 下载浏览:3526/13231
加入到我的收藏
下载错误报错
登陆以后才能下载
 用户名:
 密 码:
自动登陆(30天有效)
图片如果打不开,说明流量不够了,请稍候下载……
最近写项目需要快速画图,GDIP速度有点慢,就写了这个GLCanvas控件,有如下特性
这是可以利用OpenGL硬件加速的画布控件,使用最基础的OpenGL支持(Delphi自带的单元)。有如下特性:
1. 硬件加速,绘图速度远远胜过GDI与GDIP。
2. 支持抗锯齿,输出图像质量较高。
3. 支持类似GDIP的坐标变换,可以完成较复杂的绘图操作。
4. 绘图函数丰富,可以绘制直线、折线、曲线、多边形、矩形、三角形,填充多边形、矩形、三角形、曲线封闭区域,并可输出文字、位图。
5. 每一个绘图方法都返回画布自身指针,支持链式操作。
6. 支持坐标变换后,Windows自身画布坐标到实际坐标的反计算,可以方便实现鼠标拾取等功能。
7. 支持OpenGL的绘制列表,可以设置Canvas为列表状态,此时所有绘制过程都会记录到一个绘制列表里。可以多次调用该列表以提高绘图速度。类似GDIP的Graphic path
尚不支持的特性与问题:
1. 由于OpenGL自身只支持凸多边形,所以使用本画布绘制非凸多边形时会有一些显示上的问题。
2. 输出ASCII文字速度很快,列表被缓存,但输出汉字等文字速度较慢。
3. 文字还无法实现响应坐标变换。

编写这个画布的想法来自看了GLScane自带的GLCanvas,但是GLScane自带的画布功能太弱,主要缺点是无法实现坐标变换(需要用户自己指定变换矩阵),于是在它的基础上进行了扩充,保留了绘制直线、矩形、多边形的功能。并且参考ReactOS操作系统的GDIP与GDI源码编写了绘制曲线、弧的函数。

无需安装控件,可以将画布绑定到任何控件上,比较常用的是绑定到TPanel和TImage上,用法详见例子。

个人空间 http://hi.baidu.com/wqyfavor
其它源码下载  http://www.brsbox.com/wqyfavor
Google
 
本站原创作品,未经作者许可,严禁任何方式转载;转载作品,如果侵犯了您的权益,请联系我们
龙脉加密锁 15元起 Grid++Report 报表 申请支付@网
 相关文章
没有相关文章
相关评论
共有评论11条 当前显示最后6条评论
ganbaba 2010/1/7 20:05:13
无法下载
180010491 2010/2/25 14:42:38
楼主,你太伟大了,谢谢!顶一下!
180010491 2010/2/25 14:54:32
谢谢楼主,你很伟大!
ppwhb 2010/8/2 13:07:06
感谢一下
hegun 2013/2/4 18:30:33
学习一下。
FengLinYuShu 2013/3/15 23:36:50
最近用了,非常好! 强烈建议作者好好再深入开发下
还是有点小问题:
1. 重复绘制多个图元时会报错。 把报错的地方屏蔽后,退出时又会报错
2. 凹多边形的问题
3. OnPaint
我要发表评论 查看全部评论
 
  DELPHI盒子版权所有 1999-2012 V3.01 沪ICP备05001939号 更新RSS列表