Thumbnailer : Différence entre versions

De OviWiki
Aller à : navigation, rechercher
(Nouvelle page : Catégorie:Documentation des librairies {{Fonctionnalité|path=Thumbnailer|addon=LibFileManagement|version=0.0.5}} == setSourceFile == Les fichiers peuvent être des images : ...)
 
(getThumbnailPath)
 
(18 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
[[Catégorie:Documentation des librairies]]
+
'''Librairie permettant de créer des miniature de documents.'''
{{Fonctionnalité|path=Thumbnailer|addon=LibFileManagement|version=0.0.5}}
+
 
+
 
+
== setSourceFile ==
+
  
 
Les fichiers peuvent être des images :
 
Les fichiers peuvent être des images :
Ligne 15 : Ligne 11 :
  
 
* openOffice texte (odt)
 
* openOffice texte (odt)
 +
* Présentations openOffice (odp)
 
* pdf
 
* pdf
 +
* openXml (pptx, docx)
  
 
Des vidéos :
 
Des vidéos :
  
* format de vidéo supporté par ffmpeg sur le système
+
* avi
 +
* wmv
 +
* mov
 +
* mpeg
  
 +
 +
 +
{{Fonctionnalité|path=Thumbnailer|addon=[[LibFileManagement]]|version=0.2.4}}
 +
 +
 +
== setSourceFile ==
 +
 +
Définir la source en indiquant le chemin complet vers un fichier.
  
 
<source lang="php">
 
<source lang="php">
Ligne 28 : Ligne 37 :
 
</source>
 
</source>
  
* $filePath : Chemin complet vers le fichier source
+
* <code>$filePath</code> : Chemin complet vers le fichier source
  
 
== setSourceBinary ==
 
== setSourceBinary ==
Ligne 88 : Ligne 97 :
 
* $offset : décalage vers le bas à droite de l'ombre par rapport à l'image d'origine
 
* $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>
 +
 +
* <code>$size</code> largeur de la bordure externe en pixels, par défaut la valeur est 1px
 +
* <code>$color</code> Couleur de la bordure externe (noir par défaut)
 +
* <code>$inner_size</code> largeur de la bordure interne en pixels, par défaut la valeur est 2px
 +
* <code>$inner_color</code> Couleur de la bordure interne (blanc par défaut)
  
 
== getThumbnail ==
 
== getThumbnail ==
Ligne 102 : Ligne 127 :
 
* $height : hauteur 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
+
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 <code>getThumbnail</code> mais en contrepartie, l'appel de l'image sera beaucoup plus lent. Quand la miniature existe déjà la vitesse est identique.
 +
 
 +
Cette méthode est incompatible avec la méthode <code>setSourceBinary</code>
 +
 
 +
<source lang="php">
 +
 
 +
$instance->getDelayedThumbnail($width, $height);
 +
 
 +
</source>
 +
 
 +
* $width : largeur de la miniature
 +
* $height : hauteur de la miniature
 +
 
 +
 
 +
 
 +
== getThumbnailPath ==
 +
 
 +
Retourne un objet bab_Path contenant l'emplacement de la miniature générée avec <code>getThumbnail</code> en chemin absolu.
 +
 
 +
<source lang="php">
 +
 
 +
$instance->getThumbnailPath($width, $height);
 +
 
 +
</source>
  
 
== getThumbnailOrDefault ==
 
== getThumbnailOrDefault ==
Ligne 114 : Ligne 170 :
 
</source>
 
</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
 
* $width : largeur de la miniature
 
* $hauteur : de la miniature
 
* $hauteur : de la miniature

Version actuelle en date du 9 juillet 2010 à 07:43

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
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();


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 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.

Cette méthode est incompatible avec la méthode setSourceBinary

<source lang="php">

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

</source>

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


getThumbnailPath

Retourne un objet bab_Path contenant l'emplacement de la miniature générée avec getThumbnail en chemin absolu.

<source lang="php">

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

</source>

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