File indexing completed on 2025-01-26 05:29:13
0001 <?php 0002 0003 namespace Intervention\Image\Commands; 0004 0005 use Closure; 0006 0007 class RectangleCommand extends \Intervention\Image\Commands\AbstractCommand 0008 { 0009 /** 0010 * Draws rectangle on given image 0011 * 0012 * @param \Intervention\Image\Image $image 0013 * @return boolean 0014 */ 0015 public function execute($image) 0016 { 0017 $x1 = $this->argument(0)->type('numeric')->required()->value(); 0018 $y1 = $this->argument(1)->type('numeric')->required()->value(); 0019 $x2 = $this->argument(2)->type('numeric')->required()->value(); 0020 $y2 = $this->argument(3)->type('numeric')->required()->value(); 0021 $callback = $this->argument(4)->type('closure')->value(); 0022 0023 $rectangle_classname = sprintf('\Intervention\Image\%s\Shapes\RectangleShape', 0024 $image->getDriver()->getDriverName()); 0025 0026 $rectangle = new $rectangle_classname($x1, $y1, $x2, $y2); 0027 0028 if ($callback instanceof Closure) { 0029 $callback($rectangle); 0030 } 0031 0032 $rectangle->applyToImage($image, $x1, $y1); 0033 0034 return true; 0035 } 0036 }