티스토리 뷰

출처:

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

댓글