What are the issues with shrinking images?
The basic but fast im_shrink is a simple block average shrinker — this means it can produce some aliasing when reducing by large factors (eg thumbnail from 3kx2k), but is generally OK for non-critical use. In fact, the small amount of aliasing you get actually looks rather nice. You can use the affine transform with your choice of interpolators.