|
34 | 34 | #include <qgsapplication.h>
|
35 | 35 | #include <qgsmaprenderer.h>
|
36 | 36 | #include <qgsmaplayerregistry.h>
|
| 37 | +#include "qgssinglebandpseudocolorrenderer.h" |
37 | 38 |
|
38 | 39 | //qgis unit test includes
|
39 | 40 | #include <qgsrenderchecker.h>
|
@@ -128,12 +129,33 @@ void TestQgsRasterLayer::isValid()
|
128 | 129 |
|
129 | 130 | void TestQgsRasterLayer::pseudoColor()
|
130 | 131 | {
|
131 |
| - mpRasterLayer->setDrawingStyle( QgsRasterLayer::SingleBandPseudoColor ); |
132 |
| - mpRasterLayer->setColorShadingAlgorithm( QgsRasterLayer::PseudoColorShader ); |
133 |
| - mpRasterLayer->setContrastEnhancementAlgorithm( |
134 |
| - QgsContrastEnhancement::StretchToMinimumMaximum, false ); |
135 |
| - mpRasterLayer->setMinimumValue( mpRasterLayer->grayBandName(), 0.0, false ); |
136 |
| - mpRasterLayer->setMaximumValue( mpRasterLayer->grayBandName(), 10.0 ); |
| 132 | + QgsRasterShader* rasterShader = new QgsRasterShader(); |
| 133 | + QgsColorRampShader* colorRampShader = new QgsColorRampShader(); |
| 134 | + colorRampShader->setColorRampType( QgsColorRampShader::INTERPOLATED ); |
| 135 | + |
| 136 | + //items to imitate old pseudo color renderer |
| 137 | + QList<QgsColorRampShader::ColorRampItem> colorRampItems; |
| 138 | + QgsColorRampShader::ColorRampItem firstItem; |
| 139 | + firstItem.value = 0.0; |
| 140 | + firstItem.color = QColor( "#0000ff" ); |
| 141 | + colorRampItems.append( firstItem ); |
| 142 | + QgsColorRampShader::ColorRampItem secondItem; |
| 143 | + secondItem.value = 3.0; |
| 144 | + secondItem.color = QColor( "#00ffff" ); |
| 145 | + colorRampItems.append( secondItem ); |
| 146 | + QgsColorRampShader::ColorRampItem thirdItem; |
| 147 | + thirdItem.value = 6.0; |
| 148 | + thirdItem.color = QColor( "#ffff00" ); |
| 149 | + colorRampItems.append( thirdItem ); |
| 150 | + QgsColorRampShader::ColorRampItem fourthItem; |
| 151 | + fourthItem.value = 9.0; |
| 152 | + fourthItem.color = QColor( "#ff0000" ); |
| 153 | + colorRampItems.append( fourthItem ); |
| 154 | + |
| 155 | + colorRampShader->setColorRampItemList( colorRampItems ); |
| 156 | + rasterShader->setRasterShaderFunction( colorRampShader ); |
| 157 | + QgsSingleBandPseudoColorRenderer* r = new QgsSingleBandPseudoColorRenderer( mpRasterLayer->dataProvider(), 1, rasterShader ); |
| 158 | + mpRasterLayer->setRenderer( r ); |
137 | 159 | mpMapRenderer->setExtent( mpRasterLayer->extent() );
|
138 | 160 | QVERIFY( render( "raster_pseudo" ) );
|
139 | 161 | }
|
|
0 commit comments