File indexing completed on 2025-03-02 05:33:38
0001 <?php 0002 0003 namespace Intervention\Image\Gd\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 imagealphablending($image->getCore(), true); 0030 return imagecopy($image->getCore(), $watermark->getCore(), $target->x, $target->y, 0, 0, $watermark_size->width, $watermark_size->height); 0031 } 0032 }