Example #1
0
 private function specificationsFromJob(ImageJob $job)
 {
     $specifications = new Image();
     $parameters = $this->populateParameters($job->getParameters(), array('width' => null, 'height' => null, 'quality' => null, 'resize-mode' => null, 'resolution' => null, 'resolution-units' => null, 'resolution-x' => null, 'resolution-y' => null, 'rotation' => null, 'strip' => null));
     if ($parameters['width'] && $parameters['height']) {
         $specifications->setDimensions($parameters['width'], $parameters['height']);
     }
     if ($parameters['quality']) {
         $specifications->setQuality($parameters['quality']);
     }
     if ($parameters['resize-mode']) {
         switch ($parameters['resize-mode']) {
             case ImageJob::RESIZE_OUTBOUND:
                 $mode = Image::RESIZE_MODE_OUTBOUND;
                 break;
             case ImageJob::RESIZE_INBOUND:
                 $mode = Image::RESIZE_MODE_INBOUND;
                 break;
             default:
             case ImageJob::RESIZE_INBOUND_FIXEDRATIO:
                 $mode = Image::RESIZE_MODE_INBOUND_FIXEDRATIO;
                 break;
         }
         $specifications->setResizeMode($mode);
     }
     if ($parameters['resolution'] || $parameters['resolution-x'] && $parameters['resolution-y']) {
         $units = Image::RESOLUTION_PIXELPERINCH;
         if ($parameters['resolution-units'] === ImageJob::RESOLUTION_PER_CENTIMETERS) {
             $units = Image::RESOLUTION_PIXELPERCENTIMETER;
         }
         if ($parameters['resolution']) {
             $res_x = $res_y = $parameters['resolution'];
         } else {
             $res_x = $parameters['resolution-x'];
             $res_y = $parameters['resolution-y'];
         }
         $specifications->setResolution($res_x, $res_y, $units);
     }
     if ($parameters['rotation']) {
         $specifications->setRotationAngle($parameters['rotation']);
     }
     if ($parameters['strip']) {
         $specifications->setStrip($parameters['strip']);
     }
     return $specifications;
 }
Example #2
0
 /**
  * @covers MediaAlchemyst\Specification\Image::setRotationAngle
  * @covers MediaAlchemyst\Specification\Image::getRotationAngle
  */
 public function testSetRotationAngle()
 {
     $this->object->setRotationAngle(90);
     $this->assertEquals(90, $this->object->getRotationAngle());
 }