mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-10-31 16:07:30 +03:00 
			
		
		
		
	Use getpalette() in ImageOps
This commit is contained in:
		
							parent
							
								
									c0aaf54816
								
							
						
					
					
						commit
						279ddf4ce6
					
				|  | @ -130,6 +130,20 @@ def test_pad(): | ||||||
|             ) |             ) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | def test_palette(): | ||||||
|  |     im = hopper("P") | ||||||
|  | 
 | ||||||
|  |     # Expand | ||||||
|  |     expanded_im = ImageOps.expand(im) | ||||||
|  |     assert_image_equal(im.convert("RGB"), expanded_im.convert("RGB")) | ||||||
|  | 
 | ||||||
|  |     # Pad | ||||||
|  |     padded_im = ImageOps.pad(im, (256, 128), centering=(0, 0)) | ||||||
|  |     assert_image_equal( | ||||||
|  |         im.convert("RGB"), padded_im.convert("RGB").crop((0, 0, 128, 128)) | ||||||
|  |     ) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| def test_pil163(): | def test_pil163(): | ||||||
|     # Division by zero in equalize if < 255 pixels in image (@PIL163) |     # Division by zero in equalize if < 255 pixels in image (@PIL163) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -21,7 +21,7 @@ import functools | ||||||
| import operator | import operator | ||||||
| import re | import re | ||||||
| 
 | 
 | ||||||
| from . import Image | from . import Image, ImagePalette | ||||||
| 
 | 
 | ||||||
| # | # | ||||||
| # helpers | # helpers | ||||||
|  | @ -292,7 +292,7 @@ def pad(image, size, method=Image.Resampling.BICUBIC, color=None, centering=(0.5 | ||||||
|     else: |     else: | ||||||
|         out = Image.new(image.mode, size, color) |         out = Image.new(image.mode, size, color) | ||||||
|         if resized.palette: |         if resized.palette: | ||||||
|             out.putpalette(resized.palette) |             out.putpalette(resized.getpalette()) | ||||||
|         if resized.width != size[0]: |         if resized.width != size[0]: | ||||||
|             x = int((size[0] - resized.width) * max(0, min(centering[0], 1))) |             x = int((size[0] - resized.width) * max(0, min(centering[0], 1))) | ||||||
|             out.paste(resized, (x, 0)) |             out.paste(resized, (x, 0)) | ||||||
|  | @ -399,8 +399,7 @@ def expand(image, border=0, fill=0): | ||||||
|     height = top + image.size[1] + bottom |     height = top + image.size[1] + bottom | ||||||
|     color = _color(fill, image.mode) |     color = _color(fill, image.mode) | ||||||
|     if image.mode == "P" and image.palette: |     if image.mode == "P" and image.palette: | ||||||
|         image.load() |         palette = ImagePalette.ImagePalette(palette=image.getpalette()) | ||||||
|         palette = image.palette.copy() |  | ||||||
|         if isinstance(color, tuple): |         if isinstance(color, tuple): | ||||||
|             color = palette.getcolor(color) |             color = palette.getcolor(color) | ||||||
|     else: |     else: | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user