/** * (non-PHPdoc) * @see Imagine\Image\ManipulatorInterface::crop() */ public function crop(PointInterface $start, BoxInterface $size) { if (!$start->in($this->getSize())) { throw new OutOfBoundsException( 'Crop coordinates must start at minimum 0, 0 position from '. 'top left corner, crop height and width must be positive '. 'integers and must not exceed the current image borders' ); } try { $this->gmagick->cropimage( $size->getWidth(), $size->getHeight(), $start->getX(), $start->getY() ); } catch (\GmagickException $e) { throw new RuntimeException( 'Crop operation failed', $e->getCode(), $e ); } return $this; }