JAVA/Tutorials & examples
Java thumbnailator를 이용하여 썸네일 만들기 sample
devlinker
2017. 7. 3. 13:29
출처:
https://github.com/coobird/thumbnailator/wiki/Examples#creating-fixed-size-thumbnails
#이미지파일로 부터 썸네일 얻기
Thumbnails.of(new File("original.jpg"))
.size(160, 160)
.toFile(new File("thumbnail.jpg"))
#이미지 파일로 부터 썸네일 저장시에 File object 없이
Thumbnails.of("original.jpg")
.size(160, 160)
.toFile("thumbnail.jpg");
# 워터마크 삽입과 90도 회전
Thumbnails.of(new File("original.jpg"))
.size(160, 160)
.rotate(90)
.watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File("watermark.png")), 0.5f)
.outputQuality(0.8)
.toFile(new File("image-with-watermark.jpg"));
#OutputStream으로 출력 (다운로드나, 웹브라우저에서 경로가 아닌 스트림으로 이미지 표시할 때)
OutputStream os = ...;
Thumbnails.of("large-picture.jpg")
.size(200, 200)
.outputFormat("png")
.toOutputStream(os);
#고정된 사이즈의 썸네일: 보통 이미지 비율에 맞춰서 resize하지만, 이 경우는 가로세로 비율 상관 없이 무조건 고정사이즈(이미지찌그러질수있음)
BufferedImage originalImage = ImageIO.read(new File("original.png"));
BufferedImage thumbnail = Thumbnails.of(originalImage)
.size(200, 200)
.asBufferedImage();
#주어진 조건으로 이미지 스케일링
BufferedImage originalImage = ImageIO.read(new File("original.png"));
BufferedImage thumbnail = Thumbnails.of(originalImage)
.scale(0.25)
.asBufferedImage();
: 원본이미지를 이용해서 원본 이미지의 25%의 썸네일 생성, 물리적 파일로 저장하는 썸네일 생성용.? -번역오류일수 있음
#썸네일 만들면서 이미지 회전
BufferedImage originalImage = ImageIO.read(new File("original.jpg"));
BufferedImage thumbnail = Thumbnails.of(originalImage)
.size(200, 200)
.rotate(90)
.asBufferedImage();
#워터마크와 함께 썸네일 생성
BufferedImage originalImage = ImageIO.read(new File("original.jpg"));
BufferedImage watermarkImage = ImageIO.read(new File("watermark.png"));
BufferedImage thumbnail = Thumbnails.of(originalImage)
.size(200, 200)
.watermark(Positions.BOTTOM_RIGHT, watermarkImage, 0.5f)
.asBufferedImage();
#특정폴더에 썸네일 생성
File destinationDir = new File("path/to/output");
Thumbnails.of("apple.jpg", "banana.jpg", "cherry.jpg")
.size(200, 200)
.toFiles(destinationDir, Rename.PREFIX_DOT_THUMBNAIL);
result:
path/to/output/thumbnail.apple.jpg
path/to/output/thumbnail.banana.jpg
path/to/output/thumbnail.cherry.jpg
#특정폴더 파일명 변환없이
File destinationDir = new File("path/to/output");
Thumbnails.of("apple.jpg", "banana.jpg", "cherry.jpg")
.size(200, 200)
.toFiles(destinationDir, Rename.NO_CHANGE);
result: path/to/output/apple.jpg
path/to/output/banana.jpg
path/to/output/cherry.jpg