File indexing completed on 2025-01-26 05:29:14

0001 <?php
0002 
0003 namespace Intervention\Image\Gd\Commands;
0004 
0005 class FlipCommand extends ResizeCommand
0006 {
0007     /**
0008      * Mirrors an image
0009      *
0010      * @param  \Intervention\Image\Image $image
0011      * @return boolean
0012      */
0013     public function execute($image)
0014     {
0015         $mode = $this->argument(0)->value('h');
0016 
0017         $size = $image->getSize();
0018         $dst = clone $size;
0019 
0020         switch (strtolower($mode)) {
0021             case 2:
0022             case 'v':
0023             case 'vert':
0024             case 'vertical':
0025                 $size->pivot->y = $size->height - 1;
0026                 $size->height = $size->height * (-1);
0027                 break;
0028 
0029             default:
0030                 $size->pivot->x = $size->width - 1;
0031                 $size->width = $size->width * (-1);
0032                 break;
0033         }
0034 
0035         return $this->modify($image, 0, 0, $size->pivot->x, $size->pivot->y, $dst->width, $dst->height, $size->width, $size->height);
0036     }
0037 }