Skip to main content

Get the styled image URL

Posted on March 25, 2020


Let's suppose that $article is a node with an image field named field_image.

First we need to get the image file uri.

$img_uri = $article->field_image->entity->getFileUri();

Next we need to get the style object we want to apply to the image.

Let's assume that the machine name of the style we want to apply is thumbnail.

Here is how you get the thumbnail style object.

$style = \Drupal::entityTypeManager()->getStorage('image_style')->load('thumbnail');

Finally, we get the url of the styled image like so.

$img_url = $style->buildUrl($img_uri);

How to get the render array of the styled image

Alternatively, you can get the render array of the styled image like this.

$render = [
    '#theme' => 'image_style',
    '#style_name' => 'thumbnail',
    '#uri' => $img_uri,
];

Tags