Эта статья разделяет соответствующий код для Java для реализации сжатия изображений для вашей ссылки. Конкретный контент заключается в следующем
Импорт java.awt.image; Image java.awt.image.bufferedImage; импорт java.io.bytearrayoutputstream; импорт java.io.ioexception; импорт java.io.inputstream; Импорт javax.imageio.imageio; открытый класс ImageProcess { / *** Image* / Private Image Img; / *** Ширина*/ частная ширина int; / *** Высота*/ частная высота int; / *** Формат файла*/ private String ImageFormat; /*** Constructor* @Throws Exception*/public ImageProcess (InputStream in, String FileName) бросает исключение {// Создание объекта изображения img = imageio.read (in); // Получить ширину исходного изображения ширина = img.getWidth (null); // Получить высоту длины исходного изображения = img.getheight (null); // Формат файла ImageFormat = filename.substring (fileName.lastIndexof (".")+1); } / *** Сжатие в соответствии с шириной или высотой* @param w int максимальная ширина* @param h int максимальная высота* / public byte [] resizefix (int w, int h) throws ioException {if (width / weep> w / h) {return resizebywidth (w); } else {return resizebyHeight (h); }} / *** Масштабирование изображения пропорционально шириной* @param w int Новая ширина* / public byte [] resizebywidth (int w) бросает ioexception {int h = (int) (высота* с шириной); вернуть изменение размера (w, h); } / *** Масштабирование изображения в пропорции с высотой* @param H int Новая высота* / public byte [] resizebyheight (int h) бросает ioexception {int w = (int) (ширина* h / height); вернуть изменение размера (w, h); }/*** Принудительно сжатие/увеличить изображение до фиксированного размера* @param w int new width* @param h int Новая высота*/public byte [] resize (int w, int h) бросает ioexception {// scale_smooth -алгоритм миниатюрного алгоритма. Качество лучше, но медленнее, чем скорость. BufferedImage Image = new BufferedImage (w, h, bufferedimage.type_int_rgb); Image.getGraphics (). DrawMage (IMG, 0, 0, W, H, NULL); // Нарисуйте пониженную рисунку BytearrayOutputStream BAOS = New BytearRayoutputStream (); Imageio.Write (Image, ImageFormat, BAOS); вернуть baos.tobytearray (); }}Выше всего об этой статье. Я надеюсь, что это будет полезно для обучения каждого и легко реализовать операции сжатия изображений.