java - Apache Commons Imaging - 将 tiff 转换为 jpg
问题描述
我需要使用 Apache Commons Imaging将tiff
图像转换为图像。jpg
我尝试过,但我不知道如何使用这个库来做到这一点。
final BufferedImage image = Imaging.getBufferedImage(new File(image));
final ImageFormat format = ImageFormats.JPEG;
final Map<String, Object> params = new HashMap<>();
return Imaging.writeImageToBytes(image, format, params);
image
我tiff
要转换的文件在哪里,但我得到了
org.apache.commons.imaging.ImageWriteException:无法写入此图像格式(Jpeg-Custom)。
我不明白我做错了什么有人可以帮忙吗?
解决方案
尝试使用java AWT:
import java.awt.Color;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
和代码:
// TIFF image file read
BufferedImage tiffImage = ImageIO.read(new File("tiff-image.tiff"));
// Prepare the image before writing - with same dimensions
BufferedImage jpegImage = new BufferedImage(
tiffImage.getWidth(),
tiffImage.getHeight(),
BufferedImage.TYPE_INT_RGB);
// Draw image from original TIFF to the new JPEG image
jpegImage.createGraphics().drawImage(tiffImage, 0, 0, Color.WHITE, null);
// Write the image as JPEG to disk
ImageIO.write(jpegImage, "jpg", new File("jpeg-image.jpg"));
推荐阅读
- javascript - nodejs中分配的全局变量问题
- jquery - 如何在 JsonResult 中按降序对数据进行排序?
- angular - 角度中 sharedVar 中的模板问题
- python - Scrapy CrawlSpider 抓取页面时遵循什么顺序?
- tomcat - Tomcat 因 StringCache.findClosest NPE 崩溃
- ios - 'NSRangeException',原因:'*** -[NSBigMutableString characterAtIndex:]:索引 1258 越界;字符串长度 1176'
- php - php没有更新
- c# - 通过单击超链接(不是加号和减号)在网格视图中展开和折叠
- javascript - 通过检查两个元素从数组中获取重复值
- parallel-processing - 流 API Java 8 并行处理