티스토리 뷰

twelvemonkeys 라이브러리를 이용하여 jpg 파일을 webp 파일로 변경하는 방법에 대해 간단하게 알아보겠습니다.


1. 라이브러리 추가

// webp 파일로 변환
implementation 'com.twelvemonkeys.imageio:imageio-webp:3.10.1'



2. 소스작성

public void downImage(String imageUrl, String destinationFile) {
    String destJpg = null;
    String destWebp = null;

    try {
      // URL 에서 jpg 파일 다운로드
      URL url = new URL(imageUrl);
      URLConnection conn = url.openConnection();
      InputStream inputStream = conn.getInputStream();

      destJpg = destinationFile + ".jpg";
      destWebp = destinationFile + ".webp";

      OutputStream outputStream = new FileOutputStream(destJpg);
      byte[] buffer = new byte[2048];
      int length;
      while ((length = inputStream.read(buffer)) != -1) {
        outputStream.write(buffer, 0, length);
      }

      outputStream.close();
      inputStream.close();

      File file = new File(destJpg);
      if (file.exists()) {
        log.info("이미지 다운로드 완료 : " + destJpg);

        file.setReadable(true, true);  // 소유자 읽기 권한
        file.setWritable(true, true);  // 소유자 쓰기 권한
        file.setReadable(true, false); // 다른 사용자 읽기 권한
        file.setWritable(true, false); // 다른 사용자 쓰기 권한

	// jpg to webp
        BufferedImage image = ImageIO.read(file);
        File output = new File(destWebp);
        ImageIO.write(image, "JPG", output);
        
        file.delete();
      }

    } catch (Exception e) {
      e.printStackTrace();
    }
  }
  • ImageIO.write() 함수를 통해 JPG를 WEBP 파일로 복사합니다. 복사가 완료된 후 jpg 파일은 삭제합니다.

 

감사합니다.

최근에 올라온 글
Total
Today
Yesterday