我正在开发一个图像处理应用程序,因为我需要将 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;
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()
,没有它,某些数据可能会保持缓冲状态,并且未将其写入磁盘。
关于java - 如何将 JPEG 图像转换为 TIFF 图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41521977/