15         $source = $this->
argument(0)->required()->value();
 
   16         $position = $this->
argument(1)->type(
'string')->value();
 
   17         $x = $this->
argument(2)->type(
'digit')->value(0);
 
   18         $y = $this->
argument(3)->type(
'digit')->value(0);
 
   21         $watermark = $image->getDriver()->init($source);
 
   24         $image_size = $image->getSize()->align($position, $x, $y);
 
   25         $watermark_size = $watermark->getSize()->align($position);
 
   26         $target = $image_size->relativePosition($watermark_size);
 
   29         return $image->getCore()->compositeImage($watermark->getCore(), \Imagick::COMPOSITE_DEFAULT, $target->x, $target->y);