import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageReader;
import javax.imageio.stream.ImageInputStream;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
public class TiffToJpg {
// public static void main(String[] args) throws Exception {
// 有问题
// InputStream inputStream = new FileInputStream(new File("E:\\upload\\123.tif"));
// File output = new File("E:\\upload\\output.jpg");
//
// ImageInputStream input = ImageIO.createImageInputStream(inputStream);
// ImageReader reader = ImageIO.getImageReaders(input).next();
// reader.setInput(input);
// for (int i = 0; i < 1; i++) {
// //取得第i页
// BufferedImage image = reader.read(i, null);
// //保存图片
// ImageIO.write(image, "JPEG", output);
// }
// }
/**
* tif转jpg(多张就会转多张
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
InputStream inputStream = new FileInputStream(new File("E:\\upload\\123.tif"));
ImageInputStream input = ImageIO.createImageInputStream(inputStream);
ImageReader reader = ImageIO.getImageReadersByFormatName("tif").next();
reader.setInput(input, false);
int imageCount = reader.getNumImages(true);
for (int i = 0; i < imageCount; i++) {
BufferedImage bimage = reader.read(i);
File output = new File("E:\\upload\\output_" + i + ".jpg");
ImageIO.write(bimage, "jpg", output);
}
}
}
<dependency>
<groupId>javax.media.jai</groupId>
<artifactId>com.springsource.javax.media.jai.core</artifactId>
<version>1.1.3</version>
</dependency>
<!-- 文件转换 -->
<dependency>
<groupId>com.github.jai-imageio</groupId>
<artifactId>jai-imageio-core</artifactId>
<version>1.3.1</version>
</dependency>