/** * Run the application * * @param \Symfony\Component\HttpFoundation\Request $request * @return string */ public static function run(Request $request) { self::loadEnv(); // Set things up for the resizer Configurator::validateEnvironment(); $configurator = new Configurator($request); $configurator->setupFile(getenv('ALLOWED_HOSTS')); $configurator->setHeaders(); $image = new Image($configurator->file); return $image->alterImage($configurator->config)->toBlob(); }
public function testItUsesMaxQualityIfFileSizeHasNoNetDecreaseInRequestedCompressionRange() { $file = $this->getImageFile(300, 500); $image = new Image($file, false); $new_handler = Mockery::mock(Imagick::class); $image->setImageHandler($new_handler); $new_handler->shouldReceive('getimageblob')->once()->andReturn(openssl_random_pseudo_bytes(1600)); $new_handler->shouldReceive('setimagecompressionquality')->once()->with(5); $new_handler->shouldReceive('getimageblob')->once()->andReturn(openssl_random_pseudo_bytes(1800)); $new_handler->shouldReceive('setimagecompressionquality')->once()->with(6); $new_handler->shouldReceive('getimageblob')->once()->andReturn(openssl_random_pseudo_bytes(1700)); $new_handler->shouldReceive('setimagecompressionquality')->once()->with(7); $new_handler->shouldReceive('getimageblob')->once()->andReturn(openssl_random_pseudo_bytes(1650)); $new_handler->shouldReceive('setimagecompressionquality')->once()->with(8); $new_handler->shouldReceive('getimageblob')->once()->andReturn(openssl_random_pseudo_bytes(1625)); // Should finally set the min compression (max quality) because we don't gain anything by compressing further $new_handler->shouldReceive('setimagecompressionquality')->once()->with(8); $return = $image->setQualityLevel(5, 8, 1500); $this->assertEquals($image, $return); }