Setting the interpolation does not carry through to any images created by imageaffine() or imagerotate(). It defaults to IMG_BILINEAR_FIXED and would need to be set on each generated image as required.<?phpimagesetinterpolation( $image, IMG_NEAREST_NEIGHBOUR );// Rotated using IMG_NEAREST_NEIGHBOUR$rotated = imagerotate( $image, 45, $transparent );// Rotated using IMG_BILINEAR_FIXED$rotated_again = imagerotate( $rotated, 45, $transparent );?>Setting the interpolation to IMG_NEAREST_NEIGHBOUR can help to preserve details and prevent sampling issues when rotating an image at 90 degree increments, including when rotating clockwise.<?php// Rotated image can appear blurred and on a slight angle.$rotated = imagerotate( $image, -360, $transparent );// Similar to starting Image although it may still show a background or be on a slight angle.imagesetinterpolation( $image, IMG_NEAREST_NEIGHBOUR );$rotated = imagerotate( $image, -360, $transparent );?>