mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-01-13 18:56:17 +03:00
Fixed palette index for zeroed color in FASTOCTREE quantize
This commit is contained in:
parent
cc927343da
commit
fdec387b4a
|
@ -85,3 +85,20 @@ def test_transparent_colors_equal():
|
||||||
converted = im.quantize()
|
converted = im.quantize()
|
||||||
converted_px = converted.load()
|
converted_px = converted.load()
|
||||||
assert converted_px[0, 0] == converted_px[0, 1]
|
assert converted_px[0, 0] == converted_px[0, 1]
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
"method, color",
|
||||||
|
(
|
||||||
|
(Image.MEDIANCUT, (0, 0, 0)),
|
||||||
|
(Image.MAXCOVERAGE, (0, 0, 0)),
|
||||||
|
(Image.FASTOCTREE, (0, 0, 0)),
|
||||||
|
(Image.FASTOCTREE, (0, 0, 0, 0)),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
def test_palette(method, color):
|
||||||
|
im = Image.new("RGBA" if len(color) == 4 else "RGB", (1, 1), color)
|
||||||
|
|
||||||
|
converted = im.quantize(method=method)
|
||||||
|
converted_px = converted.load()
|
||||||
|
assert converted_px[0, 0] == converted.palette.colors[color]
|
||||||
|
|
|
@ -317,7 +317,7 @@ void
|
||||||
add_lookup_buckets(ColorCube cube, ColorBucket palette, long nColors, long offset) {
|
add_lookup_buckets(ColorCube cube, ColorBucket palette, long nColors, long offset) {
|
||||||
long i;
|
long i;
|
||||||
Pixel p;
|
Pixel p;
|
||||||
for (i = offset; i < offset + nColors; i++) {
|
for (i = offset + nColors - 1; i >= offset; i--) {
|
||||||
avg_color_from_color_bucket(&palette[i], &p);
|
avg_color_from_color_bucket(&palette[i], &p);
|
||||||
set_lookup_value(cube, &p, i);
|
set_lookup_value(cube, &p, i);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user