diff --git a/src/Normalizer/LinkCollectionNormalizer.php b/src/Normalizer/LinkCollectionNormalizer.php index f9d4c29..9c4ee21 100644 --- a/src/Normalizer/LinkCollectionNormalizer.php +++ b/src/Normalizer/LinkCollectionNormalizer.php @@ -104,7 +104,13 @@ class LinkCollectionNormalizer implements NormalizerInterface { // Generate derivatives only for the found ones. $image_styles = $this->imageStylesProvider->loadStyles($consumer); return array_reduce($image_styles, function (LinkCollection $decorated, ImageStyleInterface $image_style) use ($uri) { - $variant_link = new Link(CacheableMetadata::createFromObject($image_style), Url::fromUri(file_create_url($image_style->buildUrl($uri))), [ImageStylesProvider::DERIVATIVE_LINK_REL]); + $image = $this->imageFactory->get($uri); + $dimensions = [ + 'width' => $image->getWidth(), + 'height' => $image->getHeight(), + ]; + $image_style->transformDimensions($dimensions, $uri); + $variant_link = new Link(CacheableMetadata::createFromObject($image_style), Url::fromUri(file_create_url($image_style->buildUrl($uri))), [ImageStylesProvider::DERIVATIVE_LINK_REL], $dimensions); return $decorated->withLink($image_style->id(), $variant_link); }, (new LinkCollection([]))->withContext($resource_object)); }