doc/libvips-resample.md
Title: Operator index > By section > Resample
<!-- libvips/resample -->These operations build on each other in a set of layers.
First, [[email protected]] applies an affine transform to an image. This is any sort of 2D transform which preserves straight lines; so any combination of stretch, sheer, rotate and translate. You supply an interpolator for it to use to generate pixels, see [[email protected]]. It will not produce good results for very large shrinks: you'll see aliasing.
[[email protected]] is like [[email protected]], but it can only shrink images, it can't enlarge, rotate, or skew. It's very fast and uses an adaptive kernel for interpolation.
[[email protected]] is a fast block shrinker. It can quickly reduce images by large integer factors. It will give poor results for small size reductions: again, you'll see aliasing.
Next, [[email protected]] specialises in the common task of image reduce and enlarge. It strings together combinations of [[email protected]], [[email protected]], [[email protected]] and others to implement a general, high-quality image resizer.
Finally, [[email protected]] combines load and resize in one operation, and adds colour management and correct handling of alpha transparency. Because load and resize happen together, it can exploit tricks like JPEG and TIFF shrink-on-load, giving a (potentially) huge speedup. [[email protected]_image] is only there for emergencies, don't use it unless you really have to.
As a separate thing, [[email protected]] can apply arbitrary 2D image transforms to an image.