ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Back단에서 image 조정하여 InputStream으로 반환
    JAVA 2019. 1. 25. 09:46
    반응형

    1. CommonImpl.java

    /**
    *
    * @Auth yunsd
    * @Date 2019. 01. 18.
    * @Description
    * > image를 리사이징한다.
    */
    public InputStream resizeImage (InputStream ins, int diameter) {
    try {
    String mode = System.getProperty("mode");
    /*ImageIO 'imgIO.xxxxx.tmp'파일을 생성하기 위해 tmpdir에 접근해야하므로 temp디렉터리 위치를 세팅해준다.*/
    System.setProperty("java.io.tmpdir",env.getProperty(mode+".TEMP_DIR_PATH") );

    BufferedImage sourceImage = ImageIO.read(ins);
    int type = sourceImage.getType() == 0? BufferedImage.TYPE_INT_ARGB : sourceImage.getType();

    /*원본파일 사이즈에서 크기를 줄인다.*/
    int width = sourceImage.getWidth()/diameter;
    int height = sourceImage.getHeight()/diameter;

    /*축소 이미지 생성*/
    BufferedImage resizedImage = new BufferedImage(width, height, type);
    Graphics2D g = resizedImage.createGraphics();
    g.drawImage(sourceImage, 0, 0, width, height, null);
    g.dispose();

    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ImageIO.write(resizedImage, "png", baos);
    return new ByteArrayInputStream(baos.toByteArray());

    } catch (IOException e) {
    e.printStackTrace();
    }
    return ins;
    }


    반응형

    'JAVA' 카테고리의 다른 글

    max or limit count of 'IN' clause Mysql  (0) 2021.04.26
    Spring batch 히스토리 삭제  (0) 2021.01.04
    S3 파일 업로드  (0) 2020.10.08
    selectKey 여러개  (0) 2019.02.19
    파일 다운로드 (excel, csv)  (0) 2018.12.04
Designed by Tistory.