getWidth(); $originalHeight = $this->getHeight(); if($originalWidth > $originalHeight) { $targetWidth = $originalWidth * $dimensions / $originalHeight; $targetHeight = $dimensions; } else { $targetWidth = $dimensions; $targetHeight = $originalHeight * $dimensions / $originalWidth; } $targetWidth = (int)$targetWidth; $targetHeight = (int)$targetHeight; do { $this->resize($targetWidth, $targetHeight); $this->crop( $dimensions, $dimensions, ceil(($targetWidth - $dimensions) / 2), ceil(($targetHeight - $dimensions) / 2) ); $this->setPage($dimensions, $dimensions, 0, 0); } while($this->next()); } }