作者:朱金灿
来源:http://blog.csdn.net/clever101
Qgis是一个著名的开源地理信息系统软件。今天研究了一下它的显示那一块,算是有一点眉目了。
在Windows环境下所有图像都构造一个位图来进行显示。QT也不例外,QT显示一个图像先要构造一个QImage出来。
Qgis中一个栅格文件对应一个栅格显示图层。栅格显示图层类为QgsRasterLayer。RGB模式绘制的主要函数是QgsRasterLayer::drawMultiBandColor。在QgsRasterLayer::drawMultiBandColor里构造一个QImage出来,其中调用了QgsRasterImageBuffer::nextScanLine是构造了一行位图数据。一个波段的缓存对应的是QgsRasterImageBuffer类。QgsRasterImageBuffer::nextScanLine调用的是QgsRasterImageBuffer::createNextPartImage来获取栅格文件中的数据。
本文详细研究了QGIS在Windows环境下如何通过QT构造位图进行图像显示的过程,重点介绍了QgsRasterLayer类及其关键函数如drawMultiBandColor、QgsRasterImageBuffer等在栅格文件显示中的应用。
1947

被折叠的 条评论
为什么被折叠?



