Как уменьшить размер изображения без пикселизации?

13

Я вижу много игр с плавными краями символов и изображениями в высоком разрешении, однако, когда я пытаюсь уменьшить изображения до 64x64 для своего персонажа, я просто получаю пиксельный беспорядок. даже если я начну с холста размером 64x64, я получу пиксельные края.

Должен ли я масштабировать с OpenGL? или есть какая-то техника с фотошопом или пиксеном, о которой я не знаю?

Rhys
источник
1
Можете ли вы привести наглядный пример?
Tigrou
4
Из вашего описания может показаться, что используемый вами алгоритм масштабирования выполняет интерполяцию ближайшего пикселя, а не более плавную интерполяцию Ланцоша. Этот вопрос о сокращении векторного искусства полезен?
Anko
Да, этот ответ векторного масштабирования полезен. Спасибо за это.
Рис

Ответы:

27

Похоже, используемый вами алгоритм масштабирования не интерполирует пиксели.

Картинки лучше всего объяснить картинками:

масштабирование изображения с различными интерполяциями

Это майор , сначала полностью, затем уменьшенный с помощью Lanczos (слева) и ближайшего пикселя (или без интерполяции) (справа) до двух размеров.

То же самое сравнение, в 3 раза увеличенное:

подробный вид

Убедитесь, что масштабирование, которое вы используете, разумно пересэмплирует. Например, у ImageMagick есть -filter Lanczosопция.

Это даже не должно быть модным Lanczos, в случае, если ваши инструменты не могут этого сделать; куб (слева) выглядит так же:

кубический слева

Анко
источник
1
Спасибо, что нашли время, чтобы ответить и показать примеры изображений. Очень признателен.
Рис