Found the list of IMG_CROP_* constants in the PHP source code:
Essentially this function crops the image from any padded background if the background is a single standard colour. It will look at columns of pixels first, if a whole column is the same color that's being searched for, the column (image width) will be cropped. Then the pixel rows will be analyzed and height cropped.
IMG_CROP_TRANSPARENT - crops out a transparent background
IMG_CROP_BLACK - crops out a black background
IMG_CROP_WHITE - crops out a black background
IMG_CROP_SIDES - Uses the 4 corners of the image to attempt to detect the background to crop
IMG_CROP_THRESHOLD - Crop an image using a given color. The threshold argument defines the tolerance to be used while comparing the image color and the color to crop. The method used to calculate the color difference is based on the color distance in the RGB(a) cube.
IMG_CROP_DEFAULT - Attempts to use IMG_CROP_TRANSPARENT and if it fails it falls back to IMG_CROP_SIDES