博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CEGL库简介
阅读量:2441 次
发布时间:2019-05-10

本文共 851 字,大约阅读时间需要 2 分钟。

CEGL库简介

 

概述

CEGL又名CEGraph,是一个基于GAPI的高速WinCE平台的图形渲染库。使用C++开发,采用双缓存技术,支持直接的帧缓存。由于基于自己的图形渲染架构,其渲染速度要快于GDI

目前CEGL支持如下一些功能:

l         全屏 (只支持全屏)

l         具体像素点绘制

l         直线、水平线、垂直线绘制

l         折线绘制

l         多边形绘制

l         矩形绘制

l         填充矩形(支持alpha混合)

l         填充多边形

l         图片绘制 (支持Bmp,Gif,Jpg 格式,支持alpha混合)

l         文本绘制 (自带字库, 支持中文, 也可以使用GDI实现文字绘制)

 

核心功能介绍

    通过调用GAPI实现了全屏。

对于上面的核心功能,所有的几何体绘制基本都是通过一系列绘制算法,直接对于GAPI提供的帧缓存进行像素填充。

图片绘制功能相对复杂些,调用了IMGDECMP.DLL中的函数来装载像素数据,并创建一个DIB位图来保存数据为一个BMP图像,再将数据拷贝到另一内存区域中(pBitmapBuffer)。之后的操作就是内存数据的选择性拷贝。

CEGL对于主要的GDI对象进行了封装,包括BitmapBrushFontPen及抽象的GDIObject

对于文本的显示,采用了两套方案:一种使用早期的位图字体格式,实现内置的基于像素的文本显示,支持中文;另一种使用GDI作为中介,将文字绘制到位图中再提取像素信息到显示缓存中。

 

功能总结

总体来说,直接实现了主要的几何体绘制操作,但对于几何体绘制中的效率可以进一步优化和改进;对于图形绘制功能得到增强,支持更多的图形格式;对于最为困难的字体显示问题,由于TrueTypeFont的显示比较复杂,没有内部实现,同时没有增强字体的显示特性,如支持角度旋转等,不过可以采用Freetype库来增强其功能。

 

部分扩展思路

   (一)全屏和窗口的全面支持

GAPI获取全屏之后,对于窗口消息(按钮、菜单等)其实依然支持。所以当实现真正的全屏时要屏蔽相关消息

 

转载地址:http://eqwqb.baihongyu.com/

你可能感兴趣的文章
IBM Rational RequisitePro集成简介
查看>>
集成 IBM Rational RequisitePro 与 IBM Rational Portfolio Manager
查看>>
OOAD利器Rational Rose的介绍
查看>>
一年的测试生活和感悟
查看>>
没有需求就没有软件——需求工程简论
查看>>
使用PHP开发SCA和SDO
查看>>
通过RUP用例进行需求管理的可追踪性策略(2)
查看>>
持续改进之配置管理变更的关键路径
查看>>
postgresql 优化与维护
查看>>
mongodb replica sets 测试
查看>>
linux AS6.2 与 as5.4 的对比,性能提升明显
查看>>
FLASHCACHE 的是是非非
查看>>
length() between oracle and postgresql
查看>>
求无序数组总第n大的数
查看>>
99-lisp lisp 的99个问题 P1-10
查看>>
PG 函数的易变性(Function Volatility Categories)
查看>>
Lisp Quote 和Backquote分析
查看>>
PG psql 变彩色显示
查看>>
SICP 练习 1.3
查看>>
pg 数据库HA 启动脚本的两个假设
查看>>