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;
}