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; }
/** * @covers MediaAlchemyst\Specification\Image::setRotationAngle * @covers MediaAlchemyst\Specification\Image::getRotationAngle */ public function testSetRotationAngle() { $this->object->setRotationAngle(90); $this->assertEquals(90, $this->object->getRotationAngle()); }