Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 자바스크립트
- 널체크
- Flyweight Pattern
- jQuery
- SpringBoot
- 조인
- 병합정렬
- spring
- 시간더하기
- java
- JavaScript
- 파사드패턴
- json
- boot
- SSL설정
- 초(second)
- 알고리즘
- ThreeWayPartition
- oracle
- 곱 최대값
- 생년
- 디자인패턴
- 스트레티지패턴
- list
- 시(hour)
- 분(minute)
- 매일프로그래밍
- degien pattern
- map
- 자바
Archives
- Today
- Total
만들어가는 세상
[JAVA] 이미지 썸네일(image Thumbnail) 만들기 본문
[JAVA] 이미지 썸네일(image Thumbnail) 만들기
썸네일을 만들어 보았습니다. 간간히 보이는 if문을 제외하면 기본적인 구조입니다.
public class ThumbAdd {
@SuppressWarnings("deprecation")
public ThumbAdd(String imagePatch, String imageThumbPatch) throws IOException{
File src = new File(imagePatch);
Image srcImg = null;
FileInputStream fis = new FileInputStream(imagePatch.replaceAll("/", "\\" + File.separator));
BufferedImage im = ImageIO.read(fis);
String suffix = src.getName().substring(src.getName().lastIndexOf('.')+1).toLowerCase();
if (suffix.equals("bmp") || suffix.equals("png") || suffix.equals("gif")) {
srcImg = ImageIO.read(src);
} else {
srcImg = new ImageIcon(src.toURL()).getImage();
}
double scale = (double) 300 / (double) srcImg.getHeight(null);
if (srcImg.getWidth(null) > srcImg.getHeight(null)) {
scale = (double) 300 / (double) srcImg.getWidth(null);
}
int scaledW = (int) (scale * srcImg.getWidth(null));
int scaledH = (int) (scale * srcImg.getHeight(null));
BufferedImage thumb = new BufferedImage(scaledW, scaledH, BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = thumb.createGraphics();
g2.drawImage(im, 0, 0, scaledW, scaledH, null);
ImageIO.write(thumb, "jpg", new File(imageThumbPatch));
}
}
'IT > JAVA' 카테고리의 다른 글
[JAVA] 파일에서 확장자만 가져오기 (1) | 2020.03.10 |
---|---|
[JAVA]LIST MAP 객체 JSON 변환 (0) | 2019.11.26 |
[JAVA] full calendar 서버 및 UI 로직 입니다. (0) | 2019.11.19 |
[JAVA] 다형성(polymorphism) 개념 및 이해하기 (0) | 2018.06.25 |
[JAVA] JSON으로 여러 객체에 데이터 처리하기 (0) | 2018.06.25 |
Comments