Tu sei qui

Ridimensionamento immagini in Drupal 7

GianlucaBove.it

...just another technical blog...

In Drupal 7 è possibile creare dei preset per le immagini che vengono messi in cache e ne rendono efficiente e comodo l'utilizzo.

Per definirli, tipicamente nell'hook_install, procedere come segue:

function miomodulo_install() {
  $style = image_style_save(array('name' => 'scala80x80'));
  $effect = array(
    'name' => 'image_scale',
    'data' => array(
      'width' => 80,
      'height' => 80,
      'upscale' => FALSE,
    ),
    'isid' => $style['isid'],
  );
  image_effect_save($effect);
}

Per utilizzarlo, ad esempio all'interno di un tag img, è sufficiente questo codice (in questo esempio si renderizza l'immagine dell'avatar del'utente):

<img src="<?php print image_style_url('scala80x80', $user->picture->uri); ?>">

Per pulizia, si consiglia di mettere nell'hook_uninstall la rimozione dello stesso, come segue:

function miomodulo_uninstall() {
  image_style_delete(image_style_load('scala80x80'));
}