/
home
/
sjslayjy
/
public_html
/
scm
/
vendor
/
intervention
/
image
/
src
/
Intervention
/
Image
/
Imagick
/
Commands
/
Upload File
HOME
<?php namespace Intervention\Image\Imagick\Commands; use Intervention\Image\Commands\AbstractCommand; use Intervention\Image\Size; class FitCommand extends AbstractCommand { /** * Crops and resized an image at the same time * * @param \Intervention\Image\Image $image * @return boolean */ public function execute($image) { $width = $this->argument(0)->type('digit')->required()->value(); $height = $this->argument(1)->type('digit')->value($width); $constraints = $this->argument(2)->type('closure')->value(); $position = $this->argument(3)->type('string')->value('center'); // calculate size $cropped = $image->getSize()->fit(new Size($width, $height), $position); $resized = clone $cropped; $resized = $resized->resize($width, $height, $constraints); // crop image $image->getCore()->cropImage( $cropped->width, $cropped->height, $cropped->pivot->x, $cropped->pivot->y ); // resize image $image->getCore()->scaleImage($resized->getWidth(), $resized->getHeight()); $image->getCore()->setImagePage(0,0,0,0); return true; } }