Comment Stocker Des Miniatures

Lorsqu’il faut manipuler plusieurs images de taille importante, il est nécessaire de pouvoir les prévisualiser à l’aide de vignettes ou miniatures (thumbnails). L’objectif de ce document est de trouver une manière simple et pratique de les stocker.

Objectifs

  1. Retrouver facilement une miniature à partir de l’emplacement d’une image (chemin+nom de fichier)
  2. Eviter de regénérer les miniatures lorsqu’un image est déplacée
  3. Eviter de générer des miniatures des miniatures (et ainsi de suite récursivement)

Solution existantes

Solution 1

Stocker toutes les images dans un dossier prédéfini. La miniature est stockée dans un format d’image courant (jpeg, png, etc.) et son de fichier est le résultat de l’application d’un hash MD5 sur le chemin de l’image originale.

  • Avantages
    • Le chemin de la vignette est déduit facilement à partir de l’emplacement de l’image.
      • chemin de la vignette = /emplacement/predefini/des/miniatures/md5(chemin/image/originale).(jpg|png)
    • On peut éviter de générer des miniatures de miniatures car le dossier des miniatures est connu et peut être blacklisté.
  • Inconvénient
    • La miniature doit être régénérée si l’image est déplacée ou renommée (ce qui revient au même).

Solution 2

Stocker les miniature dans le même dossier que les images originales. La miniature est distinguée de l’original en (pré|post)fixant le nom de fichier de l’original.

  • Avantages
    • Le chemin de la vignette est déduit facilement et rapidement (pas de hash) à partir de l’emplacement de l’image.
      • chemin de la vignette = ./(prefixe)image-originale.(jpg|png)
    • On peut éviter de générer les miniatures si on détecte la présence du (pré|post)fixe.
    • La miniature n’a pas besoin d’être regénérée car il suffit de déplacer la vignette avec l’original.
  • Inconvénients
    • Il faut bien choisir le (pré|post)fixe pour éviter les conflits avec des noms de fichier utilisateurs qui pourraient être détectés à tord comme des miniatures
    • Double le nombre de fichiers dans un dossier ce qui peut sembler bordélique.

Solution 3

Stocker la miniature au sein même de l’original comme une métadonnée

  • Avantages
    • On accède à la miniature avec le chemin de l’original.
      • Miniature = extraireMiniature(chemin/image/originale)
    • La miniature n’est pas dans un fichier distinct donc pas de risque de générer de miniature de miniature.
    • La miniature est automatiquement déplacée si l’original est déplacé.
  • Inconvénient
    • Le traitement peut être plus ou moins lourd
    • Tous les formats de fichiers n’ont pas de méthode standardisée pour stocker la miniature comme métadonnées.
 
commentstockerdesminiatures.txt · Dernière modification: 2005/08/13 19:44
 

Fil RSS | Propulsé par DokuWiki