2014-02-17 3 views
1

내 요구 사항은 여러 페이지의 TIFF 파일로 여러 JPEG 파일을 변환하는 것입니다. 처음에는이 post을 통과했으며 jai_imageio 라이브러리를 사용하여 Java에서 tiff 파일을 만들 수 있었지만 불행히도 이러한 라이브러리는 오픈 소스가 아닙니다. 나중에 나는 정확히 내가 원하는 것을 줄 수있는 ImageMagick에 대해 들었다. 내 컴퓨터에 ImageMagick을 설치했고 작은 jpeg를 입력으로 사용하고 TIFF 파일을 출력으로 제공하는 작은 유틸리티 프로그램을 작성했습니다. 여러 JPEG 파일을 자바의 다중 페이지 TIFF로 변환하는 ImageMagick 예

코드 :

try { 
    Process p = Runtime 
     .getRuntime() 
     .exec("C:/Program Files/ImageMagick-6.8.8-Q16/convert E:/1.jpg E:/2.jpg E:/3.jpg -compress JPEG " 
    +"E:/mul.tiff"); 
    p.waitFor(); 

    } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
    } catch (InterruptedException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
} 

유틸리티는 매우 잘 작동하지만, 위의 프로그램에 문제가 내가 입력 파일에 대한 잘못된 경로를 지정하는 경우에도 그럴 디버그 및 위의 코드는 오류가 발생하지 않을 수있다 .

ImageMagick 용 Java 인터페이스를 제공하는 Jmagick에 대해 알고 있습니다. 만약 누군가가 나를 입력으로 여러 jpegs에 의해 멀티 페이지 티파니를 만들 수있는 자바에서 Jmagick 샘플 프로그램을 제공하는 데 도움이 될 것입니다.

감사합니다.

답변

0

많은 검색 결과를 얻은 후에 im4java이 여러 jpeg를 하나의 tiff로 변환하는 데 도움이되었습니다. ImageMagick에 대한 Java 랩퍼입니다. 셋업과 예제는 this을 방문하십시오. 필요한 항아리 here을 다운로드하여 classpath에 넣으십시오.

다음은 사용중인 샘플 코드입니다.

 // create the operation, add images and operators/options 
     ConvertCmd cmd = new ConvertCmd(); 
     IMOperation op = new IMOperation(); 
     op.addImage("E:/jpeg/001.jpg"); 
     op.addImage("E:/jpeg/003.jpg"); 
     op.addImage("E:/jpeg/006.jpg"); 

     op.compress("JPEG"); 
     op.format("TIFF");// set the format. 
     op.addImage("E:/im4j-compressed.tiff"); 

     // execute the operation 
     cmd.run(op); 
관련 문제