如何将 JPEG 图像转换为 TIFF 图像?
how to convert JPEG image to TIFF image?
我正在开发一个图像处理应用程序,我需要将 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()
,否则某些数据可能会保持缓冲状态,无法写入磁盘。
更改文件的扩展名,试试这个:
OutputStream out = new FileOutputStream("C:\Users\Jay Tanna\Desktop\myNew_File.tiff");
为此:
OutputStream out = new FileOutputStream("C:\Users\Jay Tanna\Desktop\myNew_File.TIF");
我正在开发一个图像处理应用程序,我需要将 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()
,否则某些数据可能会保持缓冲状态,无法写入磁盘。
更改文件的扩展名,试试这个:
OutputStream out = new FileOutputStream("C:\Users\Jay Tanna\Desktop\myNew_File.tiff");
为此:
OutputStream out = new FileOutputStream("C:\Users\Jay Tanna\Desktop\myNew_File.TIF");