getData(ImageInterface::class, function() use ($data) { $manager = new ImageManager(new Driver()); $image = $manager->read($data->file()); if($image === null) { throw new MediaServiceException('Could not read file.'); } return $image; }); $degrees = $data->option('rotate', 'degrees', 90); $image->rotate($degrees); if(!$data->nextSupports(ImageInterface::class)) { $image->save(); $data->removeData(ImageInterface::class); } } }