File indexing completed on 2025-01-26 05:29:14
0001 <?php 0002 0003 namespace Intervention\Image\Imagick\Commands; 0004 0005 class InsertCommand extends \Intervention\Image\Commands\AbstractCommand 0006 { 0007 /** 0008 * Insert another image into given image 0009 * 0010 * @param \Intervention\Image\Image $image 0011 * @return boolean 0012 */ 0013 public function execute($image) 0014 { 0015 $source = $this->argument(0)->required()->value(); 0016 $position = $this->argument(1)->type('string')->value(); 0017 $x = $this->argument(2)->type('digit')->value(0); 0018 $y = $this->argument(3)->type('digit')->value(0); 0019 0020 // build watermark 0021 $watermark = $image->getDriver()->init($source); 0022 0023 // define insertion point 0024 $image_size = $image->getSize()->align($position, $x, $y); 0025 $watermark_size = $watermark->getSize()->align($position); 0026 $target = $image_size->relativePosition($watermark_size); 0027 0028 // insert image at position 0029 return $image->getCore()->compositeImage($watermark->getCore(), \Imagick::COMPOSITE_DEFAULT, $target->x, $target->y); 0030 } 0031 }