Compression JPG des .associated

Tanguy TRAN · le 17/12/13 à 11:09

Bonjour,

Nous utilisons le tag JCMS "thumbnails" pour retailler les images sans les étirer (c.a.d en largeur ou hauteur selon la la taille d'origine). Cependant, nous trouvons la compression du jpg généré un peu forte. 

Est-il possible de modifier la compression des ".associated" ? Si non, existe-t-il un autre moyen de parvenir à nos fins avec une meilleure qualité ?

Merci.

 

Version de JCMS : 7.1.3

5 pts
Ronan Kerdudou · le 18/12/13 à 14:53

La conversion par défaut utilise l'API Java standard, vous pouvez remplacer ce traitement en créant votre propre ThumbnailGeneratorPolicyFilter, et en plaçant son execution avant le DefaultThumbnailPolicyFilter en précisant setOrder(-10) dans la méthode ‘init’. En effet, les filtres sont appelés les uns après les autres et ne génèrent une image que s’il n’en existe pas, donc le premier génère et les autres passent leur tour.

Pour simplifier cette tâche vous pouvez aussi ajouter le module de génération d'aperçus et vous appuyer dessus (etendre son ThumbnailGeneratorPolicyFilter pour le positionner avant le DefaultThumbnailPolicyFilter) dans votre développement, de plus ce module vous permettra de générer des aperçus pour d'autres types non-traités en standard.

Dans ce développement vous pouvez aussi ajouter une règle pour que le filtre ne soit utilisé que pour les « grand » thumbnails, et ainsi laisser le traitement natif pour les « petit » thumbnails.

En cas d’erreur lors de la génération, ne pas oublier de catcher cette erreur (et logger) et retourner ‘false’ afin qu’un autre filtre puisse en faire le traitement s’il le peut.

ATTENTION : Prenez conscience de l'impact que peut avoir votre développement sur les performances de JCMS, le temps de génération sera plus lent et la mémoire consommée certainement plus conséquente, notamment sur certaines architecture le simple fait d'appeler un programme externe depuis le serveur d'application demande à l'OS une allocation mémoire équivalente à celle consommée par le serveur d'application (limitation connue de la fonction 'fork' sous linux).

4 pts
Tanguy TRAN · le 18/12/13 à 14:57

Merci beaucoup pour cette réponse très complète.

Nous allons étudier cette solution.

#1

Bonjour Tanguy,

Je suis en train de mettre en place une solution Jalios dans noter entreprise et je me pose la même question que toi sur la façon de maîtriser la compression de toutes les versions d'images gérées par Jalios.
Les utilisateurs vont en effet vouloir poster des illustration issues directement de leur téléphone avec des dimensions gigantesques.
Je cherche donc à :

  • diminuer la compression par défaut pour les vignettes car je suis d'accord avec toi sur la perte de qualité
  • Redimensionner les grandes images (pour ne pas exceder 1920px de large par exemple)

Peux-tu me faire un retour sur la/les solutions que tu as mis en place ?

Benoit SALLÉ · le 21/01/20 à 08:37
0 pt