Описание тега image-resizing
Изменение размера изображения (также называемое масштабированием изображения) - это понижающая или повышающая дискретизация изображения с использованием алгоритма интерполяции. Распространенными алгоритмами уменьшения масштаба являются алгоритмы Ланцоша, Бикубическая резкость, Бикубическая сглаживание, Фант, Бикубический, Билинейный и Ближайший сосед (перечислены в порядке среднего качества результата). Фрактальные алгоритмы часто дают лучшие результаты для апскейлинга фотографий, в то время как существует множество алгоритмов, оптимизированных для апскейлинга пиксельной графики.
Из-за алгоритмической сложности большинство разработчиков используют библиотечные реализации этих алгоритмов.
FreeImage
Предлагает фильтры CatmullRom, Lanczos3, bspline, box, бикубические и билинейные фильтры. FreeImage ориентирован на простоту реализации и не использует аппаратное ускорение или расширения SIMD, поэтому эти скорости могут быть неприемлемыми для отображения изображений в реальном времени.
Windows GDI+
Хотя многие ненавидят GDI+, он все же включает в себя отличный двухпроходный бикубический фильтр. Он предлагает: 2-проходную бикубическую, 1-проходную бикубическую, билинейную и ближайшего соседа. Те, кто его использует, должны знать, что он может добавлять кольца к изображениям, если для WrapMode не задано значение TileXY, иначе алгоритм выполняет выборку данных за пределами границ изображения.
WIC (Компоненты Windows Imaging)
Класс IWICBitmapScaler предлагает Fant, однопроходный бикубический, билинейный и ближайший сосед. Реализации оптимизированы по производительности и могут быть в 2-4 раза быстрее, чем их аналоги GDI, хотя в настоящее время нет двухпроходного бикубического фильтра, такого как GDI+.