文章目录

  • 项目背景
  • 功能条件
  • 代码

项目背景

在项目中对于文档的操作,一个重要的功能是文件类型的转换,其中最重要的一个就使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相关推荐

  1. matlab显示tiff为全白_请教Matlab图片如何转换成TIFF

    我用Matlab(Version7.2, R2006a)生成了一些contour的figure,都粘贴到了word中,我想知道现在如何把word中的这些figure转成对应TIFF图片文件? 而且我还 ...

  2. 如何将jpeg转换成pdf步骤

    这章将介绍读取图片中的文字.读取书中文字.读取PDF格式文件中的文字的方法如果对你有一定帮助,可以分享给身边的朋友. 一.背景 ①搜集到的上百张图片,想把它制成一个专属PDF相册簿,该怎么办? ②日常 ...

  3. 用matlab编写一段将jpg图片格式转换成tiff格式

    可以使用MATLAB中的imwrite函数来将jpg图片转换为tiff格式.使用方法如下: 首先,读取jpg图片: img = imread('image.jpg'); 然后使用imwrite函数将图 ...

  4. 在线图片转成html,在线将JPEG 转换成HTML。 免费将.jpeg 转换成.html。

    描述|介绍 JPEG – is a popular graphic format, which is characterized by a high degree of compression, wh ...

  5. 利用jpedal进行pdf转换成jpeg,jpg,png,tiff,tif等格式的图片

    项目中运用到pdf文件转换成image图片,开始时使用pdfbox开源库进行图片转换,但是转换出来的文件中含有部分乱码的情况.下面是pdfBox 的pdf转换图片的代码示例. try{ String ...

  6. 如何将PDF转换成JPEG图片?

    ▌01 将PDF转换成JPEG 1.为什么转换? 有的时候需要将PDF文件转换成对应的JPEG文件嵌入在某些文档中,比如对应的PowerPoint,CSDN网页中.这方面的需求如同 使用 python ...

  7. 海思AI芯片(Hi3519A/3559A)方案学习(十四)JPEG图片转换成bgr文件

    原文:https://blog.csdn.net/avideointerfaces/article/details/89931156 前言 在系列文章海思AI芯片(Hi3519A/3559A)方案学习 ...

  8. 如何使用ABBYY FineReader 12将JPEG文件转换成Word文档

    日常工作中处理JPEG格式的图像文件时,有时需要转换成Word文档进行编辑,市场上应用而生了很多转换工具,相信不少人听说过OCR(光学字符识别)软件,可以用来转换图像文件,而在OCR软件中, ABBY ...

  9. 使用java将word文档docx,doc(包含图形,文本框)完美转换成所有格式图片(pdf,png,gif,jpeg等等)

    使用java将word文档docx,doc(包含图形,文本框,图片等)完美转换成所有格式图片(pdf,png,gif,jpeg等等)下文中附带代码,效果图等 思路 使用到的包 实现代码 效果图: 思路 ...

  10. Jpeg文件格式转换成bmp文件格式

    Jpeg文件格式转换成bmp文件格式为了简单,我将jpg图片原文件和转换后的bmp文件都直接存到内存的数组,这样不会涉及文件操作.将jpg文件转换成数组,并将数组存到文件中方便编译调用,我用的是C库文 ...

最新文章

  1. android学习笔记之十服务(Service)
  2. MongoDB应用场景
  3. Spring Cloud - 前言
  4. linux如何登陆oracle?如何停止、启动oracle和其监听?
  5. matlab+nnf.m,中南大学-信号与系统matlab实验报告.doc
  6. 使用ab进行压力测试详解
  7. 【每日一题】7月3日精讲—毒瘤xor
  8. 互联网晚报 | 9月3日 星期五 | vivo正式公布自研芯片V1;天猫公布今年双11节奏;网易云音乐去除歌曲“独家”标志...
  9. 英伟达有魔力,Uber小心翼翼 | 跟着开复去硅谷Day1
  10. matlab 暂态稳定性,基于MATLAB的电力系统暂态稳定性仿真
  11. 通过UIDocumentInteractionController预览和分享史蒂夫•乔布斯传
  12. 使用sort(function(a,b){return a-b})对数组进行排序的原理
  13. [Bada开发]使用静态库
  14. Windows10电脑进行拨号连接时,无法共享热点?如何解决?多次尝试后,终于解决了。
  15. 2022山东省软件设计大赛备赛建议
  16. 程序员被拖欠工资欲删库跑路,网友:还有没有职业素养
  17. WPF 制作带TreeView的ComBox
  18. Zigbee设备类型选择
  19. GB/T18655-2010标准下的动力电池系统及其BMS电磁EMC测试
  20. 调用ArcGIS Server的GP服务,显示No JSON object could be decoded要怎么解决?

热门文章

  1. starlink卫星轨道预报
  2. [人工智能-深度学习-32]:卷积神经网络CNN - 常见分类网络- AlexNet网络结构分析与详解
  3. Java小白之编写:计算个税的程序
  4. 智商情商哪个重要_智商or情商 哪个对孩子更重要
  5. springboot 整合阿里云oss
  6. centos7.6安装lnmp环境
  7. ZZULIOJ 1190: 按出生日期排序(结构体专题)
  8. 计算机语言表达爱情,简单的表达爱情的语录摘录40句
  9. 看到一些关于前端的书籍或者好的网站推荐
  10. c语言投票系统程序,C语言智能投票系统.doc