Dostaję o tej samej złe patrząc rozmiaru ze wszystkich 4 algorytmów PILPIL: zmiana rozmiaru obrazu: algorytm podobny do Firefoksa
>>> data = utils.fetch("http://wavestock.com/images/beta-icon.gif")
>>> image = Image.open(StringIO.StringIO(data)); image.save("/home/ptarjan/www/tmp/metaward/original.png")
>>>
>>> image = Image.open(StringIO.StringIO(data)); image.resize((36,36), Image.ANTIALIAS).save("/home/ptarjan/www/tmp/metaward/antialias.png")
>>> image = Image.open(StringIO.StringIO(data)); image.resize((36,36), Image.BILINEAR).save("/home/ptarjan/www/tmp/metaward/bilinear.png")
>>> image = Image.open(StringIO.StringIO(data)); image.resize((36,36), Image.BICUBIC).save("/home/ptarjan/www/tmp/metaward/bicubic.png")
>>> image = Image.open(StringIO.StringIO(data)); image.resize((36,36), Image.NEAREST).save("/home/ptarjan/www/tmp/metaward/nearest.png")
>>>
>>> image = Image.open(StringIO.StringIO(data)); image.thumbnail((36,36), Image.ANTIALIAS); image.save("/home/ptarjan/www/tmp/metaward/antialias-thumb.png")
>>> image = Image.open(StringIO.StringIO(data)); image.thumbnail((36,36), Image.BILINEAR); image.save("/home/ptarjan/www/tmp/metaward/bilinear-thumb.png")
>>> image = Image.open(StringIO.StringIO(data)); image.thumbnail((36,36), Image.BICUBIC); image.save("/home/ptarjan/www/tmp/metaward/bicubic-thumb.png")
>>> image = Image.open(StringIO.StringIO(data)); image.thumbnail((36,36), Image.NEAREST); image.save("/home/ptarjan/www/tmp/metaward/nearest-thumb.png")
>>>
>>> image = Image.open(StringIO.StringIO(data)); image.convert("RGB").resize((36,36), Image.ANTIALIAS).save("/home/ptarjan/www/tmp/metaward/antialias-rgb.png")
>>> image = Image.open(StringIO.StringIO(data)); image.convert("RGB").resize((36,36), Image.BILINEAR).save("/home/ptarjan/www/tmp/metaward/bilinear-rgb.png")
>>> image = Image.open(StringIO.StringIO(data)); image.convert("RGB").resize((36,36), Image.BICUBIC).save("/home/ptarjan/www/tmp/metaward/bicubic-rgb.png")
>>> image = Image.open(StringIO.StringIO(data)); image.convert("RGB").resize((36,36), Image.NEAREST).save("/home/ptarjan/www/tmp/metaward/nearest-rgb.png")
Ale wyniki wyglądają znacznie gorzej, że tylko zmiana rozmiaru w Firefoksie.
http://paulisageek.com/tmp/metaward/images.html
Jak mogę uzyskać podobny efekt do wyniku firefox używając PIL (Python lub innego obrazu Library)?
EDIT: Najedź myszką, aby zobaczyć, co każdy obraz jest
http://paulisageek.com/tmp/metaward/original.png http://paulisageek.com/tmp/metaward/antialias.png http://paulisageek.com/tmp/metaward/bicubic.png http://paulisageek.com/tmp/metaward/bilinear.png http://paulisageek.com/tmp/metaward/nearest.png http://paulisageek.com/tmp/metaward/antialias-thumb.png http://paulisageek.com/tmp/metaward/bicubic-thumb.png http://paulisageek.com/tmp/metaward/bilinear-thumb.png http://paulisageek.com/tmp/metaward/nearest-thumb.png http://paulisageek.com/tmp/metaward/antialias-rgb.png http://paulisageek.com/tmp/metaward/bicubic-rgb.png http://paulisageek.com/tmp/metaward/bilinear-rgb.png http://paulisageek.com/tmp/metaward/nearest-rgb.png
Wygląda na to, że RGB, a następnie ANTIALIS wygląda najlepiej. Jakieś inne rekomendacje?
Dla porównania, to jest ten, który wyglądał najlepiej:
>>> image = Image.open(StringIO.StringIO(data));
>>> image.convert("RGB").resize((36,36), Image.ANTIALIAS)
Jaką wersję PIL używasz? –
Wersja PIL: /usr/lib/python2.5/site-packages/PIL/PIL-1.1.6.egg-info –
Gimp daje taki sam wynik jak PIL. –