mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-11-04 01:47:47 +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_px = converted.load()
 | 
			
		||||
    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) {
 | 
			
		||||
    long i;
 | 
			
		||||
    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);
 | 
			
		||||
        set_lookup_value(cube, &p, i);
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user