integrated test case from #759
This commit is contained in:
parent
aeb1b7f963
commit
0e0c4aa82c
3 changed files with 40 additions and 0 deletions
|
@ -63,6 +63,8 @@ void agg_renderer<T>::process(raster_symbolizer const& sym,
|
||||||
|
|
||||||
if (sym.get_scaling() == "bilinear8"){
|
if (sym.get_scaling() == "bilinear8"){
|
||||||
scale_image_bilinear8<image_data_32>(target,raster->data_, err_offs_x, err_offs_y);
|
scale_image_bilinear8<image_data_32>(target,raster->data_, err_offs_x, err_offs_y);
|
||||||
|
} else if (sym.get_scaling() == "bilinear_old") {
|
||||||
|
scale_image_bilinear_old<image_data_32>(target,raster->data_, err_offs_x, err_offs_y);
|
||||||
} else {
|
} else {
|
||||||
scaling_method_e scaling_method = get_scaling_method_by_name(sym.get_scaling());
|
scaling_method_e scaling_method = get_scaling_method_by_name(sym.get_scaling());
|
||||||
scale_image_agg<image_data_32>(target,raster->data_, (scaling_method_e)scaling_method, scale_factor, err_offs_x, err_offs_y, sym.calculate_filter_factor());
|
scale_image_agg<image_data_32>(target,raster->data_, (scaling_method_e)scaling_method, scale_factor, err_offs_x, err_offs_y, sym.calculate_filter_factor());
|
||||||
|
|
BIN
tests/data/raster/white-alpha.png
Executable file
BIN
tests/data/raster/white-alpha.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 150 B |
|
@ -94,3 +94,41 @@ def test_load_save_map():
|
||||||
assert 'RasterSymbolizer' in out_map
|
assert 'RasterSymbolizer' in out_map
|
||||||
assert 'RasterColorizer' in out_map
|
assert 'RasterColorizer' in out_map
|
||||||
assert 'stop' in out_map
|
assert 'stop' in out_map
|
||||||
|
|
||||||
|
def test_raster_with_alpha_blends_correctly_with_background():
|
||||||
|
WIDTH = 500
|
||||||
|
HEIGHT = 500
|
||||||
|
|
||||||
|
map = mapnik2.Map(WIDTH, HEIGHT)
|
||||||
|
WHITE = mapnik2.Color(255, 255, 255)
|
||||||
|
map.background = WHITE
|
||||||
|
|
||||||
|
style = mapnik2.Style()
|
||||||
|
rule = mapnik2.Rule()
|
||||||
|
symbolizer = mapnik2.RasterSymbolizer()
|
||||||
|
#XXX: This fixes it, see http://trac.mapnik.org/ticket/759#comment:3
|
||||||
|
# (and remove comment when this test passes)
|
||||||
|
#symbolizer.scaling="bilinear_old"
|
||||||
|
|
||||||
|
rule.symbols.append(symbolizer)
|
||||||
|
style.rules.append(rule)
|
||||||
|
|
||||||
|
map.append_style('raster_style', style)
|
||||||
|
|
||||||
|
map_layer = mapnik2.Layer('test_layer')
|
||||||
|
filepath = '../data/raster/white-alpha.png'
|
||||||
|
map_layer.datasource = mapnik2.Gdal(file=filepath)
|
||||||
|
map_layer.styles.append('raster_style')
|
||||||
|
map.layers.append(map_layer)
|
||||||
|
|
||||||
|
map.zoom_all()
|
||||||
|
|
||||||
|
mim = mapnik2.Image(WIDTH, HEIGHT)
|
||||||
|
|
||||||
|
mapnik2.render(map, mim)
|
||||||
|
save_data('test_raster_with_alpha_blends_correctly_with_background.png',
|
||||||
|
mim.tostring('png'))
|
||||||
|
imdata = mim.tostring()
|
||||||
|
# All white is expected
|
||||||
|
assert contains_word('\xff\xff\xff\xff', imdata)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue