【问题标题】:how to convert JPEG image to TIFF image?如何将JPEG图像转换为TIFF图像?
【发布时间】:2017-01-07 13:31:58
【问题描述】:

我正在开发一个用于图像处理的应用程序,我需要将 JPEG 文件转换为 TIFF 文件。

我尝试了下面的代码 sn-p 进行转换。但是,它正在生成损坏的 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();

    }

   }

}

请帮我解决这个问题。

【问题讨论】:

标签: java tiff javax.imageio


【解决方案1】:

不熟悉com.idrsolutions.image.tiff.TiffEncoder,但您肯定会错过out.close(),否则某些数据可能会保持缓冲状态而无法进入磁盘。

【讨论】:

【解决方案2】:

更改文件的扩展名,试试这个:

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

为此:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-10
    • 2011-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多