Java 如何将JPEG图像转换为TIFF图像?
我正在开发一个用于图像处理的应用程序,我需要将JPEG文件转换为TIFF文件 我尝试了下面的代码片段进行转换。但是,它正在生成损坏的tiff文件 代码如下:Java 如何将JPEG图像转换为TIFF图像?,java,tiff,javax.imageio,Java,Tiff,Javax.imageio,我正在开发一个用于图像处理的应用程序,我需要将JPEG文件转换为TIFF文件 我尝试了下面的代码片段进行转换。但是,它正在生成损坏的tiff文件 代码如下: package javaapplication2; import java.awt.Color; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; impor
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();
}
}
}
请帮助我解决此问题。不熟悉
com.idrsolutions.image.tiff.TiffEncoder
,但您肯定缺少out.close()
,如果没有它,某些数据可能会保持缓冲状态,无法进入磁盘。更改文件扩展名,请尝试以下操作:
OutputStream out = new FileOutputStream("C:\\Users\\Jay Tanna\\Desktop\\myNew_File.tiff");
为此:
OutputStream out = new FileOutputStream("C:\\Users\\Jay Tanna\\Desktop\\myNew_File.TIF");
imageIo的可能副本不支持tiff文件格式,并且tiff是硬的requriment@MaximDobryakov@maximdoryakov@JayTanna的可能副本您可以尝试使用标准ImageIO和my…,或者更好的是,在创建
out
时使用。