Thumbnailer

De OviWiki
Aller à : navigation, rechercher


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


getDescription

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

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

$description = $instance->getDescription();


Librairie permettant de créer des miniature de documents.

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


setSourceFile

Définir la source en indiquant le chemin complet vers un fichier.

<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 (noir par défaut)
  • $inner_size largeur de la bordure interne en pixels, par défaut la valeur est 2px
  • $inner_color Couleur de la bordure interne (blanc par défaut)

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



getIcon

Obtenir l'url vers un icone ou un thumbnail pour un fichier.

<source lang="php">

$instance->getIcon($filepath, $width, $height);

</source>

  • $filepath : chemin complet vers le fichier
  • $width : largeur de la miniature
  • $hauteur : de la miniature