public function cropThumb($px, $x = 0, $y = 0)
{
// Determine whether or not the image is landscape or portrait and set
// the scale, new width and new height accordingly, with the smallest
// dimension being scaled to the value of the $px argument to allow
// for a complete crop.
$scale = $this->width > $this->height ? $px / $this->height : $px / $this->width;
$wid = round($this->width * $scale);
$hgt = round($this->height * $scale);
// Create a new image output resource.
$this->createResource();
$this->output = imagecreatetruecolor($px, $px);
// Copy newly sized image to the output resource.
$this->copyImage($wid, $hgt, $x, $y);
return $this;
}