JPEG转换成TIFF
文章目录
- 项目背景
- 功能条件
- 代码
项目背景
在项目中对于文档的操作,一个重要的功能是文件类型的转换,其中最重要的一个就使JPG转TIF,之前在做该功能时,发现相关资料很少,参考了很多资料,完成了本功能。
功能条件
<dependency><groupId>ome</groupId><artifactId>jai_imageio</artifactId><version>5.5.3</version></dependency><dependency><groupId>javax.media</groupId><artifactId>jai_codec</artifactId><version>1.1.3</version></dependency><dependency><groupId>javax.media</groupId><artifactId>jai_core</artifactId><version>1.1.3</version></dependency>
代码
private String jpeg2Tiff(String fileName) throws Exception {String targetFile = fileName;if (targetFile.indexOf(".jpg") > 0) {targetFile = targetFile.replace(".jpg", ".tiff");} else if (fileName.indexOf(".JPG") > 0) {targetFile = targetFile.replace(".JPG", ".tiff");} else if (targetFile.indexOf(".jpeg") > 0) {targetFile = targetFile.replace(".jpg", ".tiff");} else if (fileName.indexOf(".JPEG") > 0) {targetFile = targetFile.replace(".JPEG", ".tiff");} else {targetFile = UUID.randomUUID().toString() + ".tiff";}if (new File(fileName).exists()) {String randomName = UUID.randomUUID().toString().replace("-", "");randomName = randomName.substring(randomName.length() - 9, randomName.length() - 1);targetFile = targetFile.replace(".tiff", randomName + ".tiff");}File jpegFile = new File(fileName);FileSeekableStream imageInputStream = new FileSeekableStream(jpegFile);PlanarImage inputImage = JAI.create("stream", imageInputStream);OutputStream outputStream = new FileOutputStream(targetFile);TIFFEncodeParam tiffParam = new TIFFEncodeParam();TIFFField[] extras = new TIFFField[2];extras[0] = new TIFFField(282, TIFFTag.TIFF_RATIONAL, 1, (Object) new long[][] { { (long) 200, 1 }, { 0, 0 } });extras[1] = new TIFFField(283, TIFFTag.TIFF_RATIONAL, 1, (Object) new long[][] { { (long) 200, 1 }, { 0, 0 } });tiffParam.setExtraFields(extras);tiffParam.setCompression(TIFFEncodeParam.COMPRESSION_JPEG_TTN2);// we can adjust jpeg quality here, default quality 0.75fJPEGEncodeParam jpegEncodeParam = tiffParam.getJPEGEncodeParam();jpegEncodeParam.setQuality(0.75f);tiffParam.setJPEGEncodeParam(jpegEncodeParam);ImageEncoder enc = ImageCodec.createImageEncoder("TIFF", outputStream, tiffParam);enc.encode(inputImage);outputStream.flush();outputStream.close();imageInputStream.close();return targetFile;}
JPEG转换成TIFF相关推荐
- matlab显示tiff为全白_请教Matlab图片如何转换成TIFF
我用Matlab(Version7.2, R2006a)生成了一些contour的figure,都粘贴到了word中,我想知道现在如何把word中的这些figure转成对应TIFF图片文件? 而且我还 ...
- 如何将jpeg转换成pdf步骤
这章将介绍读取图片中的文字.读取书中文字.读取PDF格式文件中的文字的方法如果对你有一定帮助,可以分享给身边的朋友. 一.背景 ①搜集到的上百张图片,想把它制成一个专属PDF相册簿,该怎么办? ②日常 ...
- 用matlab编写一段将jpg图片格式转换成tiff格式
可以使用MATLAB中的imwrite函数来将jpg图片转换为tiff格式.使用方法如下: 首先,读取jpg图片: img = imread('image.jpg'); 然后使用imwrite函数将图 ...
- 在线图片转成html,在线将JPEG 转换成HTML。 免费将.jpeg 转换成.html。
描述|介绍 JPEG – is a popular graphic format, which is characterized by a high degree of compression, wh ...
- 利用jpedal进行pdf转换成jpeg,jpg,png,tiff,tif等格式的图片
项目中运用到pdf文件转换成image图片,开始时使用pdfbox开源库进行图片转换,但是转换出来的文件中含有部分乱码的情况.下面是pdfBox 的pdf转换图片的代码示例. try{ String ...
- 如何将PDF转换成JPEG图片?
▌01 将PDF转换成JPEG 1.为什么转换? 有的时候需要将PDF文件转换成对应的JPEG文件嵌入在某些文档中,比如对应的PowerPoint,CSDN网页中.这方面的需求如同 使用 python ...
- 海思AI芯片(Hi3519A/3559A)方案学习(十四)JPEG图片转换成bgr文件
原文:https://blog.csdn.net/avideointerfaces/article/details/89931156 前言 在系列文章海思AI芯片(Hi3519A/3559A)方案学习 ...
- 如何使用ABBYY FineReader 12将JPEG文件转换成Word文档
日常工作中处理JPEG格式的图像文件时,有时需要转换成Word文档进行编辑,市场上应用而生了很多转换工具,相信不少人听说过OCR(光学字符识别)软件,可以用来转换图像文件,而在OCR软件中, ABBY ...
- 使用java将word文档docx,doc(包含图形,文本框)完美转换成所有格式图片(pdf,png,gif,jpeg等等)
使用java将word文档docx,doc(包含图形,文本框,图片等)完美转换成所有格式图片(pdf,png,gif,jpeg等等)下文中附带代码,效果图等 思路 使用到的包 实现代码 效果图: 思路 ...
- Jpeg文件格式转换成bmp文件格式
Jpeg文件格式转换成bmp文件格式为了简单,我将jpg图片原文件和转换后的bmp文件都直接存到内存的数组,这样不会涉及文件操作.将jpg文件转换成数组,并将数组存到文件中方便编译调用,我用的是C库文 ...
最新文章
- android学习笔记之十服务(Service)
- MongoDB应用场景
- Spring Cloud - 前言
- linux如何登陆oracle?如何停止、启动oracle和其监听?
- matlab+nnf.m,中南大学-信号与系统matlab实验报告.doc
- 使用ab进行压力测试详解
- 【每日一题】7月3日精讲—毒瘤xor
- 互联网晚报 | 9月3日 星期五 | vivo正式公布自研芯片V1;天猫公布今年双11节奏;网易云音乐去除歌曲“独家”标志...
- 英伟达有魔力,Uber小心翼翼 | 跟着开复去硅谷Day1
- matlab 暂态稳定性,基于MATLAB的电力系统暂态稳定性仿真
- 通过UIDocumentInteractionController预览和分享史蒂夫•乔布斯传
- 使用sort(function(a,b){return a-b})对数组进行排序的原理
- [Bada开发]使用静态库
- Windows10电脑进行拨号连接时,无法共享热点?如何解决?多次尝试后,终于解决了。
- 2022山东省软件设计大赛备赛建议
- 程序员被拖欠工资欲删库跑路,网友:还有没有职业素养
- WPF 制作带TreeView的ComBox
- Zigbee设备类型选择
- GB/T18655-2010标准下的动力电池系统及其BMS电磁EMC测试
- 调用ArcGIS Server的GP服务,显示No JSON object could be decoded要怎么解决?