So, your client uploaded the image into your newly, freshly developed CMS and then called you to yell about distorted image, or image that just does not look good? That is a well known scenario. Let me explain a bit what we will achieve today. When your client uploads an image, he is taken to an Image edit area where he sees uploaded image and a smaller preview window. He just needs to drag on the larger image to select crop area and press submit. After that you crop the image using PHP GD functionality and save the new image somewhere on disk.
Their focus is mainly on the image editing part using the ImageAreaSelect jQuery plugin to help with the actual crop size selection. After the selection is finished, though, those values get sent back to a PHP script (via a form) and the resulting image is cropped and saved with help from the GD functionality of PHP.