Jetru wrote:But shouldn't this produce similar results to the previous method?
If your transformation is "scale everything up by a factor of 10", your method results in only one pixel in 100 being set in the destination image, while mine results in every pixel being set, although many pixels will be set to the same color.
Interpolating would mean 'averaging the color' of the possible four source pixels(or so) based on their 'exposure' to the resulting transformed pixel
Something like that. If the image you are dealing with is a photo, just finding the closest pixel will result in pixelization. You'll get much better results with some careful interpolation.