AGG第九课agg::rendering_buffer渲染缓存

1 介绍

http://www.360doc.com/content/11/1015/09/992979_156314240.shtml

创新互联公司长期为成百上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为云浮企业提供专业的成都网站建设、成都网站制作,云浮网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。

http://www.cppblog.com/Shihira/archive/2012/07/24/183204.html

http://www.cnblogs.com/liyiwen/archive/2010/06/03/1751094.html

这是一块保存了图形的像素点的内存,这是一块即将显示到界面的图形。这块内存保存了图形的像素点的颜色。在这里记录了每一个点的颜色。这是AGG与显示器之间的桥梁,把这块内存看成是一个二维的空间数组,就直接映射到显示器上的,内存的每一行的点,都对应屏幕上的位置点。我们要显示AGG图形实际上就是识别这个内存块并使用系统的API显示出来。(实际上不需要做任何的转换工作,因为无论是windows还是Linux,API所用的图像存储格式与Rendering Buffer都是兼容的)。

1.1 PPM介绍

我们先从这里开始:在内存中开辟一块存储区,然后将它的内容以最简单的光栅格式写到文件中,也就是PPM(Portable Pixel Map)格式。虽然 Windows 对这种格式并没有原生的支持,但很多图像浏览器和转换器都能使用这种格式,比如 IrfanView(www.irfanview.com)。所有 AGG 的控制台例子都使用了 P6 256 格式,也就是RGB,每个字节代码一个颜色。现在假设我们将在下图所示的 RGB-buffer 内存区中工作:                          

2应用

她提供了提供了访问渲染缓存中的每一行每一个字节颜色的接口。只要我们知道我们显示图片的每一点的颜色值,我们几乎不需要任何其他的画线,绘制图形的类。

3 版本更新

以前:unsigned char* p = rbuf.row(i);

现在:unsigned char* p = rbuf.row_ptr(i);


本文题目:AGG第九课agg::rendering_buffer渲染缓存
网站URL:http://hbruida.cn/article/jdocoh.html