Image rotation is performed by computing the inverse transformation for every destination pixel. Output pixels are computed using bilinear interpolation. RGB images are computed by evaluating one color plane at a time. There are no gamma corrections so purists might want to correct for image gamma before and after rotation.
An original image that you might want to rotate.
A five degree counter-clockwise rotation with bilinear interpolation produces an image that is slightly larger than the original surrounded by black regions that do not map to any pixels in the original image.