Skip to content

Commit

Permalink
Merge pull request #6068 from radarhere/quantize
Browse files Browse the repository at this point in the history
Changed quantize default dither to FLOYDSTEINBERG
  • Loading branch information
hugovk committed Feb 19, 2022
2 parents bfa6da6 + 341802c commit de06aba
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 7 deletions.
6 changes: 3 additions & 3 deletions Tests/test_image_quantize.py
Expand Up @@ -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

Expand All @@ -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()

Expand Down
10 changes: 8 additions & 2 deletions src/PIL/Image.py
Expand Up @@ -1091,7 +1091,14 @@ def convert_transparency(m, v):
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.
Expand All @@ -1116,7 +1123,6 @@ def quantize(self, colors=256, method=None, kmeans=0, palette=None, dither=1):
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
"""
Expand Down
4 changes: 2 additions & 2 deletions src/libImaging/Convert.c
Expand Up @@ -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;
Expand Down Expand Up @@ -1574,7 +1574,7 @@ convert(
}

if (dither && strcmp(mode, "1") == 0) {
return tobilevel(imOut, imIn, dither);
return tobilevel(imOut, imIn);
}

/* standard conversion machinery */
Expand Down

0 comments on commit de06aba

Please sign in to comment.