/**
  * Get orientation of an image from the supplied Image object.
  * NOTE: This function doesn't read EXIF data of the file to detect orientation
  * data.
  *
  * @param Image $image
  *
  * @return ImageOrientation
  */
 protected function getImageOrientation(Image $image)
 {
     if (!$image->isHydrated()) {
         throw new ImageManagerException(ImageManager::ERR_NOT_HYDRATED);
     }
     $img = new \Imagick();
     $img->readImageBlob($image->getData());
     $width = $img->getImageWidth();
     $height = $img->getImageHeight();
     if ($width >= $height) {
         return ImageOrientation::LANDSCAPE();
     }
     return ImageOrientation::PORTRAIT();
 }
 public function testMetadataRetrieval()
 {
     $inspector = new ImageInspector();
     $fn = __DIR__ . '/../Resources/image.png';
     $im = new ImageManager(new Filesystem(new LocalAdapter(static::$tmp_dir . 'remote')), new EphemeralCachePool(), [], true);
     $image = $im->loadFromFile($fn, self::TEST_KEY);
     $im->push($image);
     $metadata = $inspector->getImageMetadata($image);
     $this->assertEquals($metadata->getFormat(), ImageFormat::PNG());
     $this->assertEquals($metadata->getDimensions(), new ImageDimensions(300, 300));
     $this->assertEquals($metadata->getResolution(), new ImageDimensions(72, 72));
     $this->assertEquals($metadata->getOrientation(), ImageOrientation::LANDSCAPE());
 }