2017-01-07 3 views
3

JPEG 파일을 TIFF 파일로 변환해야하는 이미지 처리 용 앱을 개발 중입니다.JPEG 이미지를 TIFF 이미지로 변환하는 방법은 무엇입니까?

나는 아래의 코드 스 니펫을 변환하려고 시도했다. 하지만, 그것은 손상된 티파니 파일을 생성하고 있습니다.

package javaapplication2; 

import java.awt.Color; 
import java.awt.image.BufferedImage; 
import java.io.File; 
import java.io.IOException; 
import javax.imageio.ImageIO; 
import com.idrsolutions.image.tiff.TiffEncoder; 
import java.io.FileOutputStream; 
import java.io.OutputStream; 

public class JavaApplication2 
{ 
    public static void main(String[] args) 
    { 
     BufferedImage bufferedImage; 
     try 
     { 
      bufferedImage = ImageIO.read(new File("C:\\Users\\Jay Tanna\\Desktop\\image1.jpg")); 


      BufferedImage newBufferedImage = new BufferedImage(bufferedImage.getWidth(), 
      bufferedImage.getHeight(), BufferedImage.TYPE_INT_RGB); 

      newBufferedImage.createGraphics().drawImage(bufferedImage, 0, 0, Color.WHITE, null); 

      OutputStream out  = new FileOutputStream("C:\\Users\\Jay Tanna\\Desktop\\myNew_File.tiff"); 
      TiffEncoder tiffEncoder = new TiffEncoder(); 
      tiffEncoder.setCompressed(true); 
      tiffEncoder.write(newBufferedImage, out); 

      System.out.println("Done"); 

    } 
     catch (IOException e) 
     { 

      e.printStackTrace(); 

    } 

    } 

} 

이 친절하게이 문제를 좀 도와 : 여기

는 코드입니다.

+0

가능한 중복 http://stackoverflow.com/questions/ 14618953/image-conversion-in-java) –

+0

imageIo는 tiff 파일 형식을 지원하지 않으며 tiff는 어렵지 않습니다. @ MaximDobryakov –

+0

@ MaximDobryakov –

답변

1

com.idrsolutions.image.tiff.TiffEncoder에 익숙하지 않지만 어떤 데이터가 버퍼링되어 디스크에 저장되지 않는 경우 out.close()이 누락되었습니다.

+1

이상인 경우에는 'out'을 만들 때 [try-with-resources] (https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html)를 사용하십시오. – haraldK

-1

변경 파일의 확장자는,이 시도 : 이것에 대한

OutputStream out = new FileOutputStream("C:\\Users\\Jay Tanna\\Desktop\\myNew_File.tiff"); 

:

OutputStream out = new FileOutputStream("C:\\Users\\Jay Tanna\\Desktop\\myNew_File.TIF"); 
[자바에서 이미지 변환] (의
관련 문제