Resize
Изменение размера (масштабирование изображения)
Операция изменения пиксельных размеров изображения путём его увеличения или уменьшения с использованием математической интерполяции для вычисления новых значений пикселей при целевом разрешении.
Техническая деталь
Уменьшение удаляет пиксели с помощью усреднения по площади или суперсэмплинга, обычно давая хорошие результаты. Увеличение должно предполагать новые значения пикселей с помощью интерполяции: ближайший сосед (сохраняет чёткие края, пиксельный), билинейный (взвешенное среднее 4 ближайших пикселей), бикубический (взвешенное среднее 16 пикселей, более плавный) и Ланцоша (на основе sinc, самый чёткий без звона). В браузерах Canvas drawImage() учитывает настройки imageSmoothingEnabled и imageSmoothingQuality. CSS image-rendering: pixelated отключает интерполяцию для пиксельной графики. Для значительного увеличения нейросети суперразрешения дают значительно лучшие результаты, чем традиционная интерполяция.
Пример
```javascript
// Resize image using Canvas API
const canvas = document.createElement('canvas');
canvas.width = 800;
canvas.height = 600;
const ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0, 800, 600);
canvas.toBlob(blob => {
// Download resized image
saveAs(blob, 'resized.png');
}, 'image/png');
```