diminuer la résolution de l'image en Java
J'ai besoin de réduire la taille de l'image(pas la largeur et la hauteur) à l'aide d'un programme en Java.
C'est leur toute bonne API pour ça?
J'ai besoin de réduire la taille de 1 mo à environ 50 ko 100 ko.
De-cours la résolution baisse un peu, mais ce n'est pas grave.
source d'informationauteur Mohammad Adil
Vous devez vous connecter pour publier un commentaire.
Selon ce blog: http://i-proving.com/2006/07/06/java-advanced-imaging/ vous pouvez utiliser le Java Advanced Imaging Library à faire ce que vous voulez. L'exemple de code suivant devrait vous donner un bon point de départ. Cela permettra de redimensionner l'image, à la fois en hauteur et en largeur, ainsi que la qualité de l'image. Une fois que votre image est de la taille de fichier souhaitée, vous pouvez mettre à l'échelle de retour jusqu'à votre choix de pixels en hauteur et en largeur lors de l'affichage de l'image.
C'est le code de travail
Ce code fonctionne très bien pour moi. si vous avez besoin de redimensionner l'image, puis vous pouvez
modifier les x et y de l'échelle ici
JAI.create("SubsampleAverage", image, xscale,yscale, qualityHints);
Vous pouvez utiliser JAI pour augmenter la compression d'un écrit JPEG, sans faire la mise à l'échelle. Voir http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Encode.doc.html
Si votre type d'image est pris en charge par une mise en œuvre de
ImageWriteParam
vous pouvez régler la qualité comme indiqué dans ce exemple. D'autresImageWriteParam
méthodes, telles quegetBitRate()
peut vous permettre d'optimiser le résultat.