void QgsRendererRasterPropertiesWidget::apply() { mRasterLayer->brightnessFilter()->setBrightness( mSliderBrightness->value() ); mRasterLayer->brightnessFilter()->setContrast( mSliderContrast->value() ); QgsRasterRendererWidget* rendererWidget = dynamic_cast<QgsRasterRendererWidget*>( stackedWidget->currentWidget() ); if ( rendererWidget ) { mRasterLayer->setRenderer( rendererWidget->renderer() ); } // Hue and saturation controls QgsHueSaturationFilter *hueSaturationFilter = mRasterLayer->hueSaturationFilter(); if ( hueSaturationFilter ) { hueSaturationFilter->setSaturation( sliderSaturation->value() ); hueSaturationFilter->setGrayscaleMode(( QgsHueSaturationFilter::GrayscaleMode ) comboGrayscale->currentIndex() ); hueSaturationFilter->setColorizeOn( mColorizeCheck->checkState() ); hueSaturationFilter->setColorizeColor( btnColorizeColor->color() ); hueSaturationFilter->setColorizeStrength( sliderColorizeStrength->value() ); } QgsRasterResampleFilter* resampleFilter = mRasterLayer->resampleFilter(); if ( resampleFilter ) { QgsRasterResampler *zoomedInResampler = nullptr; QString zoomedInResamplingMethod = mZoomedInResamplingComboBox->currentText(); if ( zoomedInResamplingMethod == tr( "Bilinear" ) ) { zoomedInResampler = new QgsBilinearRasterResampler(); } else if ( zoomedInResamplingMethod == tr( "Cubic" ) ) { zoomedInResampler = new QgsCubicRasterResampler(); } resampleFilter->setZoomedInResampler( zoomedInResampler ); //raster resampling QgsRasterResampler *zoomedOutResampler = nullptr; QString zoomedOutResamplingMethod = mZoomedOutResamplingComboBox->currentText(); if ( zoomedOutResamplingMethod == tr( "Average" ) ) { zoomedOutResampler = new QgsBilinearRasterResampler(); } resampleFilter->setZoomedOutResampler( zoomedOutResampler ); resampleFilter->setMaxOversampling( mMaximumOversamplingSpinBox->value() ); } mRasterLayer->setBlendMode( mBlendModeComboBox->blendMode() ); }
QgsRasterResampleFilter* QgsRasterResampleFilter::clone() const { QgsDebugMsgLevel( "Entered", 4 ); QgsRasterResampleFilter * resampler = new QgsRasterResampleFilter( nullptr ); if ( mZoomedInResampler ) { resampler->setZoomedInResampler( mZoomedInResampler->clone() ); } if ( mZoomedOutResampler ) { resampler->setZoomedOutResampler( mZoomedOutResampler->clone() ); } resampler->setMaxOversampling( mMaxOversampling ); return resampler; }
QgsRasterInterface * QgsRasterResampleFilter::clone() const { QgsDebugMsg( "Entered" ); QgsRasterResampleFilter * resampler = new QgsRasterResampleFilter( 0 ); if ( mZoomedInResampler ) { resampler->setZoomedInResampler( mZoomedInResampler->clone() ); } if ( mZoomedOutResampler ) { resampler->setZoomedOutResampler( mZoomedOutResampler->clone() ); } resampler->setMaxOversampling( mMaxOversampling ); return resampler; }
void QgsRendererRasterPropertiesWidget::apply() { mRasterLayer->brightnessFilter()->setBrightness( mSliderBrightness->value() ); mRasterLayer->brightnessFilter()->setContrast( mSliderContrast->value() ); QgsRasterRendererWidget* rendererWidget = dynamic_cast<QgsRasterRendererWidget*>( stackedWidget->currentWidget() ); if ( rendererWidget ) { QgsRasterRenderer* newRenderer = rendererWidget->renderer(); // there are transparency related data stored in renderer instances, but they // are not configured in the widget, so we need to copy them over from existing renderer QgsRasterRenderer* oldRenderer = mRasterLayer->renderer(); if ( oldRenderer ) newRenderer->copyCommonProperties( oldRenderer ); mRasterLayer->setRenderer( newRenderer ); } // Hue and saturation controls QgsHueSaturationFilter *hueSaturationFilter = mRasterLayer->hueSaturationFilter(); if ( hueSaturationFilter ) { hueSaturationFilter->setSaturation( sliderSaturation->value() ); hueSaturationFilter->setGrayscaleMode(( QgsHueSaturationFilter::GrayscaleMode ) comboGrayscale->currentIndex() ); hueSaturationFilter->setColorizeOn( mColorizeCheck->checkState() ); hueSaturationFilter->setColorizeColor( btnColorizeColor->color() ); hueSaturationFilter->setColorizeStrength( sliderColorizeStrength->value() ); } QgsRasterResampleFilter* resampleFilter = mRasterLayer->resampleFilter(); if ( resampleFilter ) { QgsRasterResampler *zoomedInResampler = nullptr; QString zoomedInResamplingMethod = mZoomedInResamplingComboBox->currentText(); if ( zoomedInResamplingMethod == tr( "Bilinear" ) ) { zoomedInResampler = new QgsBilinearRasterResampler(); } else if ( zoomedInResamplingMethod == tr( "Cubic" ) ) { zoomedInResampler = new QgsCubicRasterResampler(); } resampleFilter->setZoomedInResampler( zoomedInResampler ); //raster resampling QgsRasterResampler *zoomedOutResampler = nullptr; QString zoomedOutResamplingMethod = mZoomedOutResamplingComboBox->currentText(); if ( zoomedOutResamplingMethod == tr( "Average" ) ) { zoomedOutResampler = new QgsBilinearRasterResampler(); } resampleFilter->setZoomedOutResampler( zoomedOutResampler ); resampleFilter->setMaxOversampling( mMaximumOversamplingSpinBox->value() ); } mRasterLayer->setBlendMode( mBlendModeComboBox->blendMode() ); }