Cet article partage le code pertinent pour Java pour implémenter la compression d'images pour votre référence. Le contenu spécifique est le suivant
import java.awt.image; image java.awt.image.bufferedImage; import java.io.bytearrayoutputStream; import java.io.ioException; import java.io.inputstream; import javax.imageio.imageio; classe publique ImageProcess {/ ** * image * / image privée img; / ** * largeur * / private int largeur; / ** * hauteur * / private int hauteur; / ** * Format de fichier * / chaîne privée imageFormat; / ** * constructeur * @throws exception * / public ImageProcess (inputStream in, string filename) lève exception {// construire l'objet image img = imageo.read (in); // Obtenez la largeur d'image source Largeur = img.getWidth (null); // Obtenez la hauteur de la longueur de l'image source = img.getheight (null); // File Format ImageFormat = filename.SubString (filename.LastIndexof (".") + 1); } / ** * Compressez selon la largeur ou la hauteur * @param w int maximum largeur * @param h int hauteur maximale * / byte public [] redimenfix (int w, int h) lève ioException {if (width / height> w / h) {return resizeByWidth (w); } else {return resizeByHeight (h); }} / ** * Mise à l'échelle de l'image en proportion avec la largeur * @param w int new Largeur * / public octet [] redimenywidth (int w) lève ioException {int h = (int) (height * w / width); redimensionner redimensive (w, h); } / ** * Mise à l'échelle de l'image en proportion avec la hauteur * @param h int new hauteur * / octet public [] redimenyheight (int h) lève ioException {int w = (int) (width * h / height); redimensionner redimensive (w, h); } / ** * Forcer la compresse / agrandir l'image à une taille fixe * @param w int new largeth * @param h int new height * / public octet [] redimensit (int w, int h) lance ioException {// Scale_smooth de l'algorithme de la taille de la chair de poule himinalise la douceur des images de la poubelle. La qualité est meilleure mais plus lente que la vitesse. BufferedImage Image = new BufferedImage (W, H, BufferedImage.Type_int_rgb); image.getGraphics (). DrawImage (img, 0, 0, w, h, null); // dessine la figure réduite bytearrayoutputStream baos = new bytearrayoutputStream (); ImageIo.Write (Image, ImageFormat, Baos); return baos.toByteArray (); }}Ce qui précède concerne cet article. J'espère que cela sera utile à l'apprentissage de chacun et à la mise en œuvre facilement des opérations de compression d'images.