Thumbnailer
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)
- openXml (pptx, docx)
Des vidéos :
- avi
- wmv
- mov
- mpeg
|
Sommaire
getDescription
Méthode commune à toutes les librairies pour obtenir la description de l'objet partagé.
$instance = bab_functionality::get('Thumbnailer');
$description = $instance->getDescription();
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>
-
$sizelargeur de la bordure externe en pixels, par défaut la valeur est 1px -
$colorCouleur de la bordure externe (noir par défaut) -
$inner_sizelargeur de la bordure interne en pixels, par défaut la valeur est 2px -
$inner_colorCouleur 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 ou la bordure, si setDropShadow est utilisée, l'image sera sensiblement plus grande
getDelayedThumbnail
Si une image miniature existe déjà, cette méthode retourne son url. Si la miniature n'existe pas, la méthode retourne un url qui n'est pas celle de l'image mais l'adresse d'une page web qui va générer la miniature et renvoyer les donnés via un script php.
Lors du premier affichage, la génération des liens vers les images sera beaucoup plus rapide qu'avec la méthode getThumbnail mais en contrepartie, l'appel de l'image sera beaucoup plus lent. Quand la miniature existe déjà la vitesse est identique.
<source lang="php">
$instance->getDelayedThumbnail($width, $height);
</source>
- $width : largeur de la miniature
- $height : hauteur de la miniature
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