QgsRasterInterface * QgsMultiBandColorRenderer::clone() const { QgsMultiBandColorRenderer * renderer = new QgsMultiBandColorRenderer( 0, mRedBand, mGreenBand, mBlueBand ); if ( mRedContrastEnhancement ) { renderer->setRedContrastEnhancement( new QgsContrastEnhancement( *mRedContrastEnhancement ) ); } if ( mGreenContrastEnhancement ) { renderer->setGreenContrastEnhancement( new QgsContrastEnhancement( *mGreenContrastEnhancement ) ); } if ( mBlueContrastEnhancement ) { renderer->setBlueContrastEnhancement( new QgsContrastEnhancement( *mBlueContrastEnhancement ) ); } return renderer; }
QgsMultiBandColorRenderer *QgsMultiBandColorRenderer::clone() const { QgsMultiBandColorRenderer *renderer = new QgsMultiBandColorRenderer( nullptr, mRedBand, mGreenBand, mBlueBand ); renderer->copyCommonProperties( this ); if ( mRedContrastEnhancement ) { renderer->setRedContrastEnhancement( new QgsContrastEnhancement( *mRedContrastEnhancement ) ); } if ( mGreenContrastEnhancement ) { renderer->setGreenContrastEnhancement( new QgsContrastEnhancement( *mGreenContrastEnhancement ) ); } if ( mBlueContrastEnhancement ) { renderer->setBlueContrastEnhancement( new QgsContrastEnhancement( *mBlueContrastEnhancement ) ); } return renderer; }
QgsRasterRenderer *QgsMultiBandColorRendererWidget::renderer() { if ( !mRasterLayer ) { return nullptr; } QgsRasterDataProvider *provider = mRasterLayer->dataProvider(); if ( !provider ) { return nullptr; } int redBand = mRedBandComboBox->currentBand(); int greenBand = mGreenBandComboBox->currentBand(); int blueBand = mBlueBandComboBox->currentBand(); QgsMultiBandColorRenderer *r = new QgsMultiBandColorRenderer( provider, redBand, greenBand, blueBand ); setCustomMinMaxValues( r, provider, redBand, greenBand, blueBand ); r->setMinMaxOrigin( mMinMaxWidget->minMaxOrigin() ); return r; }