Это вынуждает Вас не забыть также объявлять любых ограниченных по объему классом участников функциональное использование в качестве статичных также, который должен сохранить память создания тех объектов для каждого экземпляра.
Я изменил размер "оригинал" с Python и получил те же результаты, что и вы. Я также изменил размер «оригинала» с помощью GIMP и получил такое же (если не худшее) качество. Это заставило меня подозревать, что Firefox читерствует. Возможно преобразование в RGB («исходный» режим - это индексированный цвет). Таким образом, следующий код:
import Image
im=Image.open("beta-icon.gif")
im = im.convert("RGB")
im=im.resize((36,36), Image.ANTIALIAS)
im.save("q5.png")
Результат почти такой же, как у Firefox.
Попробуйте использовать метод resize ()
вместо thumbnail ()
. По моему опыту, они ведут себя по-разному.
Кроме того, ваш код показывает чтение .gif, а ваш оригинал - .png. Перед сокращением убедитесь, что у вас действительно есть все исходные данные.
Похоже, что сначала RGB, а затем ANTIALIS выглядят как Лучший. Есть ли другие рекомендации?
Нет, это действительно ожидаемый результат. Любое изменение размера, выполненное в исходном ограниченном режиме палитры, может привести к появлению неровного мусора из-за отсутствия доступных промежуточных цветов в палитре; и ANTIALIAS - это фильтр изменения размера только , который предназначен для использования для уменьшения масштаба: BILINEAR и BICUBIC действительно принимают только два пикселя на ось и смешивают их между собой, что хорошо для масштабирования, но не работает вообще когда масштабируются одна или обе оси.
К сожалению, thumbnail () никогда не работал должным образом, поэтому вам придется сделать это самостоятельно.