Thumbnailer

De OviWiki
Révision de 26 mars 2009 à 17:34 par Paul (discussion | contributions) (setBorder)

Aller à : navigation, rechercher


Le chemin complet de la fonctionnalité
Thumbnailer
Documentation du parent
Pas de parent
Module
LibFileManagement
version du module
0.2.2


getDescription

Méthode commune à toutes les librairies pour obtenir la description de l'objet partagé.

$instance = bab_functionality::get('Thumbnailer');

$description = $instance->getDescription();


setSourceFile

Les fichiers peuvent être des images :

  • jpeg
  • png
  • gif
  • svg

Des documents :

  • openOffice texte (odt)
  • Présentations openOffice (odp)
  • pdf
  • openXml (pptx, docx)

Des vidéos :

  • avi
  • wmv
  • mov
  • mpeg


<source lang="php">

$instance->setSourceFile($filePath);

</source>

  • $filePath : Chemin complet vers le fichier source

setSourceBinary

Définir la source à partir de donnés binaires, l'image source doit être un type d'image supporté par le module GD de php :

  • jpeg
  • png
  • gif


<source lang="php">

$instance->setSourceBinary($data, $lastupdate);

</source>

  • $data : contenu d'un fichier image en chaîne de caractère
  • $lastupdate : Date de dernière modification de l'image source au format ISO datetime

la date de dernière modification de l'image permet de déterminer quand le thumbnail doit être régénéré.

exemple avec l'image de la fiche d'annuaire de l'utilisateur :

<source lang="php">

$entry = bab_getDirEntry();
$photo = $entry['jpegphoto']['photo'];
$thumb = bab_functionality::get('Thumbnailer');
$thumb->setSourceBinary(
	$photo->getData(),
	$photo->lastUpdate()
);
$thumb->setDropShadow();
$url = $thumb->getThumbnailOrDefault(200, 200);
$babBody->babEcho(sprintf('<img src="%s" alt="%s" />', $url, $GLOBALS['BAB_SESS_USER']));

</source>

attention : l'objet $entry['jpegphoto']['photo'] n'est disponible dans ovidentia qu'a partir de la version 6.7.0

setDropShadow

Cette méthode dépend de ce que propose le système. Si imageMagick est installé et disponible, toutes les options serons valides, dans le cas contraire, seule l'option $backgroundcolor aura un effet.

<source lang="php">

$instance->setDropShadow($shadowcolor = '#000000', $backgroundcolor = '#FFFFFF', $percentopacity = 60, $offset = 5);

</source>

  • $shadowcolor : couleur de l'ombre portée, par défaut, la valeur est '#000000'
  • $backgroundcolor : couleur du fond, par défaut, la valeur est '#FFFFFF'
  • $percentopacity : Opacité de l'ombre, par défaut la valeur est de 60%, le paramètre doit être un nombre entier
  • $offset : décalage vers le bas à droite de l'ombre par rapport à l'image d'origine


setBorder

Cette méthode permet d'ajouter une bordure sur l'image générée


<source lang="php">

$instance->setBorder($size = 1, $color = '#000000', $inner_size = 2, $inner_color = '#FFFFFF');

</source>

  • $size largeur de la bordure externe en pixels, par défaut la valeur est 1px
  • $color Couleur de la bordure externe
  • $inner_size largeur de la bordure interne en pixels, par défaut la valeur est 2px
  • $inner_color Couleur de la bordure interne

getThumbnail

Obtenir l'url d'accès vers la miniature générée ou false si aucune miniature n'a été générée.

<source lang="php">

$instance->getThumbnail($width, $height);

</source>

  • $width : largeur de la miniature
  • $height : hauteur de la miniature

Attention, la largeur et la hauteur n'incluent pas la place occupée par l'ombre portée, si setDropShadow est utilisée, l'image sera sensiblement plus grande

getThumbnailOrDefault

Obtenir l'url d'accès vers la miniature générée ou une image générique si aucune miniature n'a été générée.

<source lang="php">

$instance->getThumbnailOrDefault($width, $height);

</source>

  • $width : largeur de la miniature
  • $hauteur : de la miniature