Resize
Resize (Penskalaan Gambar)
Proses mengubah dimensi piksel suatu gambar, baik memperbesar (upscaling) untuk mencetak atau tampilan, maupun memperkecil (downscaling) untuk web atau mengurangi ukuran file.
Detail Teknis
Resize gambar melakukan interpolasi untuk menghitung nilai piksel pada koordinat non-integer. Algoritma: nearest-neighbor (memilih piksel terdekat, mempertahankan tepi tajam, pikselasi saat diperbesar), bilinear (rata-rata tertimbang dari 4 tetangga), bicubic (16 tetangga, lebih tajam), dan Lanczos (kernel sinc terpotong, kualitas terbaik untuk downscaling). Untuk downscaling, pre-filtering (supersampling/area averaging) mencegah artefak aliasing. Seam carving (penskalaan content-aware) menghapus jalur energi rendah untuk resize non-seragam. Upscaling super-resolusi menggunakan neural network (ESRGAN, Real-ESRGAN). Implementasi web: untuk gambar responsif, CSS object-fit untuk kontrol ukuran container.
Contoh
```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');
```