Jelora

Modification rendu des images des articles

Cela fait 2 semaines que le blog est en ligne, tout se passe très bien sauf pour une chose : le rendu des images redimensionnées dans les articles. C'est immonde !

J'utilisais la librairie Java Grahpics2D pour faire les redimensionnements :
Code:1.
2.
3.

4.
5.
6.
7.
BufferedImage resizedImage = new BufferedImage(width, height, type);
Graphics2D g = resizedImage.createGraphics();
g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, 
RenderingHints.VALUE_INTERPOLATION_BILINEAR); g.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g.drawImage(originalImage, 0, 0, width, height, null); g.dispose();

J'ai eu beau tester toutes sortes de réglages de rendus, j'ai l'impression que cette librairie prend un pixel à intervalle régulière au lieu de faire une sorte de moyenne des pixels aux alentours.
Après quelques recherches, j'ai trouvé la librairie open-source imgsclar (GitHub/Maven) qui donne un bien meilleur résultat et plus facilement :
Code:1.
BufferedImage resizedImage = Scalr.resize(originalImage, Scalr.Method.ULTRA_QUALITY, width, 
height);

Résultats :

Avant:
Error20170628_163147.jpg
Après:
20170628_163147.jpg

Avant:
11.jpg
Après:
11.jpg

Mais cette nouvelle librairie a ses avantages et inconvénients.
Avantages :
- Meilleur rendu
- Fichier final plus léger car la compression marche mieux (gain entre 20 et 30%)
Inconvénients :
- Temps de traitement plus long (5-10s avec libscalr en "ULTRA_QUALITY" contre 1-2s pour Graphics2D)

Pour les grosses images, ce n'est pas trop grave. L'inconvénient ne posera pas de problème pour un simple blog.

Vu que ce blog n'a que quelques articles avant celui-ci, je pense que je vais réuploader toutes les images. Ça sera plus joli et le temps de chargement sera plus court.

Ajouter un commentaire

Nom/Pseudo :

*

Email :

Site web :

Commentaire :

*

Vérification:


*