diff --git a/src/agg/process_debug_symbolizer.cpp b/src/agg/process_debug_symbolizer.cpp index 9f0363921..1279c8cf9 100644 --- a/src/agg/process_debug_symbolizer.cpp +++ b/src/agg/process_debug_symbolizer.cpp @@ -214,6 +214,14 @@ void agg_renderer::process(debug_symbolizer const& sym, debug_symbolizer_mode_enum mode = get(sym, keys::mode, feature, common_.vars_, DEBUG_SYM_MODE_COLLISION); + ras_ptr->reset(); + if (gamma_method_ != GAMMA_POWER || gamma_ != 1.0) + { + ras_ptr->gamma(agg::gamma_power()); + gamma_method_ = GAMMA_POWER; + gamma_ = 1.0; + } + if (mode == DEBUG_SYM_MODE_RINGS) { RingRenderer renderer(*ras_ptr,*current_buffer_,common_.t_,prj_trans); diff --git a/src/agg/process_dot_symbolizer.cpp b/src/agg/process_dot_symbolizer.cpp index 8e19aa997..35cb861e7 100644 --- a/src/agg/process_dot_symbolizer.cpp +++ b/src/agg/process_dot_symbolizer.cpp @@ -111,6 +111,12 @@ void agg_renderer::process(dot_symbolizer const& sym, double opacity = get(sym, keys::opacity, feature, common_.vars_, 1.0); color const& fill = get(sym, keys::fill, feature, common_.vars_, mapnik::color(128,128,128)); ras_ptr->reset(); + if (gamma_method_ != GAMMA_POWER || gamma_ != 1.0) + { + ras_ptr->gamma(agg::gamma_power()); + gamma_method_ = GAMMA_POWER; + gamma_ = 1.0; + } agg::rendering_buffer buf(current_buffer_->bytes(),current_buffer_->width(),current_buffer_->height(),current_buffer_->row_size()); using blender_type = agg::comp_op_adaptor_rgba_pre; using pixfmt_comp_type = agg::pixfmt_custom_blend_rgba; diff --git a/src/agg/process_line_pattern_symbolizer.cpp b/src/agg/process_line_pattern_symbolizer.cpp index b5df95380..735363873 100644 --- a/src/agg/process_line_pattern_symbolizer.cpp +++ b/src/agg/process_line_pattern_symbolizer.cpp @@ -237,6 +237,13 @@ void agg_renderer::process(line_pattern_symbolizer const& sym, std::string filename = get(sym, feature, common_.vars_); if (filename.empty()) return; + ras_ptr->reset(); + if (gamma_method_ != GAMMA_POWER || gamma_ != 1.0) + { + ras_ptr->gamma(agg::gamma_power()); + gamma_method_ = GAMMA_POWER; + gamma_ = 1.0; + } std::shared_ptr marker = marker_cache::instance().find(filename, true); agg_renderer_process_visitor_l visitor(common_, pixmap_,