Fixes bugs that cause tests in PR #2599 to fail

This commit is contained in:
Sara Metz 2015-01-30 10:40:50 +13:00
parent 25fe253f12
commit 22ab62f16d
5 changed files with 38 additions and 2 deletions

View file

@ -408,7 +408,7 @@ private:
// clip extreme alfa values
void create_palette_rek(std::vector<rgba> & palette, node * itr) const
{
if (itr->count >= 3)
if (itr->count != 0)
{
unsigned count = itr->count;
byte a = byte(itr->alphas/float(count));

View file

@ -541,7 +541,7 @@ void save_as_png8_oct(T1 & file,
trees[j].create_palette(pal);
leftovers = cols[j] - static_cast<unsigned>(pal.size());
cols[j] = static_cast<unsigned>(pal.size());
palette.insert(palette.begin(), pal.begin(), pal.end());
palette.insert(palette.end(), pal.begin(), pal.end());
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 B

View file

@ -159,6 +159,42 @@ if mapnik.has_png():
eq_(len(im.tostring('png8:t=0')) == len(im_in.tostring('png8')), True)
eq_(len(im.tostring('png8:t=0:m=o')) == len(im_in.tostring('png8:m=o')), True)
def test_9_colors_hextree():
expected = './images/support/encoding-opts/png8-9cols.png'
im = mapnik.Image.open(expected)
t0 = tmp_dir + 'png-encoding-9-colors.result-hextree.png'
im.save(t0, 'png8:m=h')
eq_(mapnik.Image.open(t0).tostring(),
mapnik.Image.open(expected).tostring(),
'%s (actual) not == to %s (expected)' % (t0, expected))
def test_9_colors_octree():
expected = './images/support/encoding-opts/png8-9cols.png'
im = mapnik.Image.open(expected)
t0 = tmp_dir + 'png-encoding-9-colors.result-octree.png'
im.save(t0, 'png8:m=o')
eq_(mapnik.Image.open(t0).tostring(),
mapnik.Image.open(expected).tostring(),
'%s (actual) not == to %s (expected)' % (t0, expected))
def test_17_colors_hextree():
expected = './images/support/encoding-opts/png8-17cols.png'
im = mapnik.Image.open(expected)
t0 = tmp_dir + 'png-encoding-17-colors.result-hextree.png'
im.save(t0, 'png8:m=h')
eq_(mapnik.Image.open(t0).tostring(),
mapnik.Image.open(expected).tostring(),
'%s (actual) not == to %s (expected)' % (t0, expected))
def test_17_colors_octree():
expected = './images/support/encoding-opts/png8-17cols.png'
im = mapnik.Image.open(expected)
t0 = tmp_dir + 'png-encoding-17-colors.result-octree.png'
im.save(t0, 'png8:m=o')
eq_(mapnik.Image.open(t0).tostring(),
mapnik.Image.open(expected).tostring(),
'%s (actual) not == to %s (expected)' % (t0, expected))
def test_2px_regression_hextree():
im = mapnik.Image.open('./images/support/encoding-opts/png8-2px.A.png')
expected = './images/support/encoding-opts/png8-2px.png'