이 기사는 Java가 참조를 위해 이미지 압축을 구현할 수있는 관련 코드를 공유합니다. 특정 내용은 다음과 같습니다
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; 공개 클래스 ImageProcess { / *** image* / private image img; / *** 너비*/ 개인 int 너비; / *** 높이*/ 개인 int 높이; / *** 파일 형식*/ 개인 문자열 imageFormat; /*** 생성자* @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)는 ioexception {if (width / height> w / h) {return resizeBywidth (w); } else {return resizeByHeight (h); }} / *** 너비에 비례하여 그림을 스케일링하는* @param w in new 너비* / public byte [] resizeByWidth (int w)는 ioException {int h = (int) (높이* w / 너비); 리턴 크기 조정 (w, h); } / *** 높이에 비례하여 그림을 스케일링* @param h int new Height* / public byte [] resizeByHeight (int h)는 ioexception {int w = (int) (너비* h / 높이); 리턴 크기 조정 (w, h); }/*** 이미지를 고정 크기로 압축/확대/확대합니다. 품질은 속도보다 낫지 만 느립니다. bufferedImage image = new bufferedImage (w, h, bufferedimage.type_int_rgb); image.getGraphics (). DrawImage (img, 0, 0, w, h, null); // 감소 된 그림을 그리기 바이 타어 아웃 푸트 스트림 baos = 새로운 BytearRayoutputStream (); imageio.write (image, imageformat, baos); return baos.tobytearray (); }}위는이 기사에 관한 것입니다. 모든 사람의 학습에 도움이되고 이미지 압축 작업을 쉽게 구현하기를 바랍니다.