Merge pull request #6068 from radarhere/quantize

Changed quantize default dither to FLOYDSTEINBERG
This commit is contained in:
Hugo van Kemenade 2022-02-19 11:24:17 +02:00 committed by GitHub
commit de06aba8f1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 7 deletions

View File

@ -60,7 +60,7 @@ def test_quantize_no_dither():
with Image.open("Tests/images/caption_6_33_22.png") as palette:
palette = palette.convert("P")
converted = image.quantize(dither=0, palette=palette)
converted = image.quantize(dither=Image.Dither.NONE, palette=palette)
assert converted.mode == "P"
assert converted.palette.palette == palette.palette.palette
@ -70,8 +70,8 @@ def test_quantize_dither_diff():
with Image.open("Tests/images/caption_6_33_22.png") as palette:
palette = palette.convert("P")
dither = image.quantize(dither=1, palette=palette)
nodither = image.quantize(dither=0, palette=palette)
dither = image.quantize(dither=Image.Dither.FLOYDSTEINBERG, palette=palette)
nodither = image.quantize(dither=Image.Dither.NONE, palette=palette)
assert dither.tobytes() != nodither.tobytes()

View File

@ -1091,7 +1091,14 @@ class Image:
new_im.info["transparency"] = trns
return new_im
def quantize(self, colors=256, method=None, kmeans=0, palette=None, dither=1):
def quantize(
self,
colors=256,
method=None,
kmeans=0,
palette=None,
dither=Dither.FLOYDSTEINBERG,
):
"""
Convert the image to 'P' mode with the specified number
of colors.
@ -1116,7 +1123,6 @@ class Image:
mode "RGB" to "P" or from "RGB" or "L" to "1".
Available methods are :data:`Dither.NONE` or :data:`Dither.FLOYDSTEINBERG`
(default).
Default: 1 (legacy setting)
:returns: A new image
"""

View File

@ -1447,7 +1447,7 @@ topalette(
}
static Imaging
tobilevel(Imaging imOut, Imaging imIn, int dither) {
tobilevel(Imaging imOut, Imaging imIn) {
ImagingSectionCookie cookie;
int x, y;
int *errors;
@ -1574,7 +1574,7 @@ convert(
}
if (dither && strcmp(mode, "1") == 0) {
return tobilevel(imOut, imIn, dither);
return tobilevel(imOut, imIn);
}
/* standard conversion machinery */