mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-01-13 10:46:16 +03:00
Change default resize resampling filter
This commit is contained in:
parent
995c863200
commit
ac92836e81
|
@ -754,7 +754,7 @@ class TestFileGif(PillowTestCase):
|
|||
def test_getdata(self):
|
||||
# test getheader/getdata against legacy values
|
||||
# Create a 'P' image with holes in the palette
|
||||
im = Image._wedge().resize((16, 16))
|
||||
im = Image._wedge().resize((16, 16), Image.NEAREST)
|
||||
im.putpalette(ImagePalette.ImagePalette("RGB"))
|
||||
im.info = {"background": 0}
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
from PIL import Image
|
||||
|
||||
from .helper import PillowTestCase, hopper
|
||||
|
||||
|
||||
|
@ -13,7 +15,7 @@ class TestImageGetData(PillowTestCase):
|
|||
|
||||
def test_roundtrip(self):
|
||||
def getdata(mode):
|
||||
im = hopper(mode).resize((32, 30))
|
||||
im = hopper(mode).resize((32, 30), Image.NEAREST)
|
||||
data = im.getdata()
|
||||
return data[0], len(data), len(list(data))
|
||||
|
||||
|
|
|
@ -150,3 +150,12 @@ class TestImageResize(PillowTestCase):
|
|||
# Test unknown resampling filter
|
||||
with hopper() as im:
|
||||
self.assertRaises(ValueError, im.resize, (10, 10), "unknown")
|
||||
|
||||
def test_default_filter(self):
|
||||
for mode in "L", "RGB", "I", "F":
|
||||
im = hopper(mode)
|
||||
self.assertEqual(im.resize((20, 20), Image.BICUBIC), im.resize((20, 20)))
|
||||
|
||||
for mode in "1", "P":
|
||||
im = hopper(mode)
|
||||
self.assertEqual(im.resize((20, 20), Image.NEAREST), im.resize((20, 20)))
|
||||
|
|
|
@ -159,7 +159,8 @@ class TestImageDraw(PillowTestCase):
|
|||
# Arrange
|
||||
im = Image.new("RGB", (W, H))
|
||||
draw = ImageDraw.Draw(im)
|
||||
with Image.open("Tests/images/pil123rgba.png").resize((50, 50)) as small:
|
||||
with Image.open("Tests/images/pil123rgba.png") as small:
|
||||
small = small.resize((50, 50), Image.NEAREST)
|
||||
|
||||
# Act
|
||||
draw.bitmap((10, 10), small)
|
||||
|
|
|
@ -24,7 +24,7 @@ class TestImageFile(PillowTestCase):
|
|||
def test_parser(self):
|
||||
def roundtrip(format):
|
||||
|
||||
im = hopper("L").resize((1000, 1000))
|
||||
im = hopper("L").resize((1000, 1000), Image.NEAREST)
|
||||
if format in ("MSP", "XBM"):
|
||||
im = im.convert("1")
|
||||
|
||||
|
|
|
@ -47,6 +47,13 @@ Setting the size of TIFF images
|
|||
Setting the size of a TIFF image directly (eg. ``im.size = (256, 256)``) throws
|
||||
an error. Use ``Image.resize`` instead.
|
||||
|
||||
Default resize resampling filter
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The default resampling filter for the ``Image.resize`` method is changed to
|
||||
high-quality convolution ``Image.BICUBIC`` instead of ``Image.NEAREST``.
|
||||
``Image.NEAREST`` is still always used for images in "P" and "1" modes.
|
||||
|
||||
|
||||
API Changes
|
||||
===========
|
||||
|
|
|
@ -1761,7 +1761,7 @@ class Image:
|
|||
|
||||
return m_im
|
||||
|
||||
def resize(self, size, resample=NEAREST, box=None):
|
||||
def resize(self, size, resample=BICUBIC, box=None):
|
||||
"""
|
||||
Returns a resized copy of this image.
|
||||
|
||||
|
@ -1771,8 +1771,9 @@ class Image:
|
|||
one of :py:attr:`PIL.Image.NEAREST`, :py:attr:`PIL.Image.BOX`,
|
||||
:py:attr:`PIL.Image.BILINEAR`, :py:attr:`PIL.Image.HAMMING`,
|
||||
:py:attr:`PIL.Image.BICUBIC` or :py:attr:`PIL.Image.LANCZOS`.
|
||||
If omitted, or if the image has mode "1" or "P", it is
|
||||
set :py:attr:`PIL.Image.NEAREST`.
|
||||
Default filter is :py:attr:`PIL.Image.BICUBIC`.
|
||||
If the image has mode "1" or "P", it is
|
||||
always set :py:attr:`PIL.Image.NEAREST`.
|
||||
See: :ref:`concept-filters`.
|
||||
:param box: An optional 4-tuple of floats giving the region
|
||||
of the source image which should be scaled.
|
||||
|
|
Loading…
Reference in New Issue
Block a user