Bonjour,
j'ai besoin de redimensionner des images de grandes tailles en beaucoup plus petite, le problème est que ces images contiennent essentiellement du texte.
Hors, le texte devient vite illisible alors qu'il faudrait qu'il reste très clair.

Par toute logique une image de grande taille devrait me donner des qualités respectables, mais ca n'est pas le cas, je me demande alors si cela vient de ma façon de faire ou alors de l'algorithme du JDK.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
AffineTransform tx = new AffineTransform();
double ratio = (double)newWidth/srcB.getWidth();
tx.scale(scaleWidth, scaleHeight);
AffineTransformOp op = new AffineTransformOp(tx,getHintsByQuality(quality));
BufferedImage bi = op.filter(srcB, imgType.createBufferedImage(newWidth,newHeight));
 
return bi;
J'ai éssayé aussi de cette façon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
BufferedImage bi = imgType.createBufferedImage(newWidth,newHeight);
Graphics2D g = bi.createGraphics();
g.setRenderingHints(getHintsByQuality(quality));
g.drawImage(srcB, 0, 0 ,newWidth,newHeight, null);
Voici des exemples d'images, même si c'est un mauvais exemple car le texte est déjà trop fin. En temps normal le texte est bien plus gros, mais le problème est le même, j'ai un rendu de redimensionnement très mauvais par rapport à des outils (Gimp, Photoshop,..) ou avec d'autres librairies (GDLib).
original.png
En 1500
En 1100
En 1100

Auriez-vous une idée, une solution ?

Cordialement,
Thomas