精华内容
下载资源
问答
  • packageutil;importjava.awt.image.RenderedImage;importjava.awt.image.renderable..../*tif jpg 格式*/imageConvert.tif2Jpg("d:/TIF001.TIF");/*jpg tif 格式*/imageConvert.jpg2Tif("d:/1.jpg"); } }

    packageutil;importjava.awt.image.RenderedImage;importjava.awt.image.renderable.ParameterBlock;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.OutputStream;importjava.util.logging.Logger;importjavax.media.jai.JAI;importjavax.media.jai.RenderedOp;importcom.sun.media.jai.codec.FileSeekableStream;importcom.sun.media.jai.codec.ImageCodec;importcom.sun.media.jai.codec.ImageDecoder;importcom.sun.media.jai.codec.ImageEncoder;importcom.sun.media.jai.codec.JPEGEncodeParam;importcom.sun.media.jai.codec.TIFFEncodeParam;/***

    *@author李小家

    **/

    public classImageConvert {private static Logger logger = Logger.getLogger(ImageConvert.class.getName());public voidtif2Jpg(String fileAbsolutePath) {if (fileAbsolutePath == null || "".equals(fileAbsolutePath.trim())){return;

    }if (!newFile(fileAbsolutePath).exists()){

    logger.info("系统找不到指定文件【"+fileAbsolutePath+"】");return;

    }

    FileSeekableStream fileSeekStream= null;try{

    fileSeekStream= newFileSeekableStream(fileAbsolutePath);

    TIFFEncodeParam tiffEncodeParam= newTIFFEncodeParam();

    JPEGEncodeParam jpegEncodeParam= newJPEGEncodeParam();

    ImageDecoder dec= ImageCodec.createImageDecoder("tiff", fileSeekStream, null);int count =dec.getNumPages();

    tiffEncodeParam.setCompression(TIFFEncodeParam.COMPRESSION_GROUP4);

    tiffEncodeParam.setLittleEndian(false);

    logger.info("该tif文件共有【" + count + "】页");

    String filePathPrefix= fileAbsolutePath.substring(0, fileAbsolutePath.lastIndexOf("."));for (int i = 0; i < count; i++) {

    RenderedImage renderedImage=dec.decodeAsRenderedImage(i);

    File imgFile= new File(filePathPrefix + "_" + i + ".jpg");

    logger.info("每页分别保存至: " +imgFile.getCanonicalPath());

    ParameterBlock pb= newParameterBlock();

    pb.addSource(renderedImage);

    pb.add(imgFile.toString());

    pb.add("JPEG");

    pb.add(jpegEncodeParam);

    RenderedOp renderedOp= JAI.create("filestore",pb);

    renderedOp.dispose();

    }

    }catch(IOException e) {//TODO Auto-generated catch block

    e.printStackTrace();

    }finally{if (fileSeekStream != null){try{

    fileSeekStream.close();

    }catch(IOException e) {

    }

    fileSeekStream= null;

    }

    }

    }public voidjpg2Tif(String fileAbsolutePath) {

    OutputStream outputStream= null;try{

    RenderedOp renderOp= JAI.create("fileload", fileAbsolutePath);

    String tifFilePath= fileAbsolutePath.substring(0, fileAbsolutePath.lastIndexOf("."))+".tif";

    outputStream= newFileOutputStream(tifFilePath);

    TIFFEncodeParam tiffParam= newTIFFEncodeParam();

    ImageEncoder imageEncoder= ImageCodec.createImageEncoder("TIFF", outputStream, tiffParam);

    imageEncoder.encode(renderOp);

    logger.info("jpg2Tif 保存至: " +tifFilePath);

    }catch(FileNotFoundException e) {//TODO Auto-generated catch block

    e.printStackTrace();

    }catch(IOException e) {//TODO Auto-generated catch block

    e.printStackTrace();

    }finally{if (outputStream != null){try{

    outputStream.close();

    }catch(IOException e) {

    }

    outputStream= null;

    }

    }

    }public static void main(String args[]) throwsException{

    ImageConvert imageConvert= newImageConvert();/*tif 转 jpg 格式*/imageConvert.tif2Jpg("d:/TIF001.TIF");/*jpg 转 tif 格式*/imageConvert.jpg2Tif("d:/1.jpg");

    }

    }

    展开全文
  • TIFF批量转JPG - C#源码

    2018-11-27 09:36:13
    对一个文件夹中的多页tiff批量成每个tiff一个文件夹,存放每张jpg,适合批量转换一次性完成,可以自己设置分别率!各类档案整理技术交流可以可以关注qq群475623803,一次性自动化解决扫描、归档、整理、建库全流程...
  • 多页tif生成多个单页jpg图片的byte[],然后转为多个具体图片,内容包含工具类及测试类Demo,jai_core-1.1.3.jar,jai-codec-1.1.3.jar。
  • * @描述 将 tiff 转换 jpg 格式 * @参数 filePath * @返回值 turnJpgFile * @author by * @创建时间 2020/6/22 9:49 */ public static String tiffTuanJPG(String filePath) { String format = filePath

    所需jar包:
    链接:https://pan.baidu.com/s/1GBBWEiBCHy5y3TbKhkTOfg
    提取码:mfvs
    将 tif 转换 jpg 格式(单页tif)

    public static String tiffTuanJPG(String filePath) {
        String format = filePath.substring(filePath.lastIndexOf(".") + 1);
        String turnJpgFile = filePath.replace("tif", "jpg");
        if (format.equals("tif")) {
            File fileTif = new File(turnJpgFile);
            if (fileTif.exists()) {
                System.out.println("该tif文件已经转换为 JPG 文件:" + turnJpgFile);
                return turnJpgFile;
            }
            //读取iff文件
            RenderedOp rd = JAI.create("fileload", filePath);
            OutputStream ops = null;
            try {
                ops = new FileOutputStream(turnJpgFile);
                //文件存储输出流
                JPEGEncodeParam param = new JPEGEncodeParam();
                //指定输出格式
                ImageEncoder image = ImageCodec.createImageEncoder("JPEG", ops, param);
                image.encode(rd);
                //解析输出流进行输出
                ops.close();
                System.out.println("tif转换jpg成功:" + filePath);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return turnJpgFile;
    }
    

    将 tif 转换 jpg 格式(多页tif)
    参考:https://www.cnblogs.com/101key/p/3324601.html

    public void tif2Jpg(String fileAbsolutePath) {
            if (fileAbsolutePath == null || "".equals(fileAbsolutePath.trim())){
                return ;
            }
            if (!new File(fileAbsolutePath).exists()){
                logger.info("系统找不到指定文件【"+fileAbsolutePath+"】");
                return ;
            }
            FileSeekableStream fileSeekStream = null;
            try {
                fileSeekStream = new FileSeekableStream(fileAbsolutePath);
                TIFFEncodeParam tiffEncodeParam = new TIFFEncodeParam();
                JPEGEncodeParam jpegEncodeParam = new JPEGEncodeParam();
                ImageDecoder dec = ImageCodec.createImageDecoder("tiff", fileSeekStream, null);
                int count = dec.getNumPages();
                tiffEncodeParam.setCompression(TIFFEncodeParam.COMPRESSION_GROUP4);
                tiffEncodeParam.setLittleEndian(false);
                logger.info("该tif文件共有【" + count + "】页");
                String filePathPrefix = fileAbsolutePath.substring(0, fileAbsolutePath.lastIndexOf("."));
                for (int i = 0; i < count; i++) {
                    RenderedImage renderedImage = dec.decodeAsRenderedImage(i);
                    File imgFile = new File(filePathPrefix + "_" + i + ".jpg");
                    logger.info("每页分别保存至: " + imgFile.getCanonicalPath());
                    ParameterBlock pb = new ParameterBlock();
                    pb.addSource(renderedImage);
                    pb.add(imgFile.toString());
                    pb.add("JPEG");
                    pb.add(jpegEncodeParam);
                    RenderedOp renderedOp = JAI.create("filestore",pb);
                    renderedOp.dispose();
                }
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } finally {
                if (fileSeekStream != null){
                    try {
                        fileSeekStream.close();
                    } catch (IOException e) {
                    }
                    fileSeekStream = null;
                }
            }
        }
    
        @Test
        public void test() {
            String fileName = "D:\\home\\oldZJYX\\7a400398f2db482baec96e4f4d9e68a9\\扬州中行8269-201904.tif";
            String s = tiffTuanJPG(fileName);
            System.out.println(s);
        }
    
    展开全文
  • 多页单个tif文件转换为多个jpg文件需要官方的一些包支持(具体参考源码),上网找找即可。源码:-------------------------import java.io.*;import ...

    多页单个tif文件转换为多个jpg文件

    需要官方的一些包支持(具体参考源码),上网找找即可。

    源码:

    -------------------------

    import java.io.*;

    import com.sun.media.jai.codec.FileSeekableStream;

    import com.sun.media.jai.codec.ImageDecoder;

    import com.sun.media.jai.codec.ImageCodec;

    import com.sun.media.jai.codec.TIFFEncodeParam;

    import com.sun.media.jai.codec.TIFFDecodeParam;

    import com.sun.media.jai.codec.JPEGEncodeParam;

    import java.awt.image.RenderedImage;

    import javax.media.jai.RenderedOp;

    import javax.media.jai.JAI;

    import java.awt.image.renderable.ParameterBlock;

    public class MultiPageRead {

    public static void main(String[] args) throws IOException {

    new MultiPageRead().doitJAI();

    }

    public void doitJAI() throws IOException {

    FileSeekableStream ss = new FileSeekableStream("./zhaoming.tif");

    TIFFDecodeParam param0 = null;

    TIFFEncodeParam param = new TIFFEncodeParam();

    JPEGEncodeParam param1 = new JPEGEncodeParam();

    ImageDecoder dec = ImageCodec.createImageDecoder("tiff", ss, param0);

    int count = dec.getNumPages();

    param.setCompression(TIFFEncodeParam.COMPRESSION_GROUP4);

    param.setLittleEndian(false); // Intel

    System.out.println("This TIF has " + count + " image(s)");

    for (int i = 0; i < count; i++) {

    RenderedImage page = dec.decodeAsRenderedImage(i);

    File f = new File("./fk_" + i + ".jpg");

    System.out.println("Saving " + f.getCanonicalPath());

    ParameterBlock pb = new ParameterBlock();

    pb.addSource(page);

    pb.add(f.toString());

    pb.add("JPEG");

    pb.add(param1);

    //JAI.create("filestore",pb);

    RenderedOp r = JAI.create("filestore",pb);

    r.dispose();

    //RenderedOp op = JAI.create("filestore", page, "./zhaoming_" + i + ".jpg", "JPEG", param1);

    }

    }

    }

    取消

    评论

    展开全文
  • C# Tif格式转Jpg

    千次阅读 2017-09-26 17:24:04
    C# Tif格式转jpg

    C# Tif格式转Jpg

      首先,关于啥是Tif(TIFF)格式,就让鄙人来解释解释吧…内个啥,还是让度娘来吧。TIFF格式

      接下来,让我捡个狗屎给大家舔一舔吧(不听故事的请跳过这一段,直接看代码)。上一个Web项目中,很寻常的使用了报表打印功能(MIS系统嘛,这很正常),项目顺利,寻常。后来有一天客户突然跟我说要加个报表生成图片的功能,原因是客户居然拿着手机在玩这个系统(本来想哪天需要搞个APP的时候再赚一笔的,好吧,我认了)。于是乎,我就帮客户做了导出图片的功能,其实也简单,使用报表工具直接导出就可以了。报表一般是支持导出Excel、PDF、RTF、TIF格式的,so,我直接导出了TIF格式。就这两天,客户跟我说,多页的报表导出来只有第一页,这…好像理所当然,导出的是TIF格式的,你手机上也只能当图片看了。怎么说也是没有考虑到位,就帮客户改了。

      废话就这么多吧,下面直接上代码。

    
            public void ConvertTiff2Jpeg(string tiffFileName, string jpegFileName)
            {
                var img = Image.FromFile(tiffFileName);
                var count = img.GetFrameCount(FrameDimension.Page);
                for (int i = 0; i < count; i++)
                {
                    img.SelectActiveFrame(FrameDimension.Page, i);
                    img.Save(jpegFileName + ".part" + i + ".jpg");
                }
                int imageWidth = img.Width;
                int imageHeight = img.Height * count;
                Bitmap joinedBitmap = new Bitmap(imageWidth, imageHeight);
                Graphics graphics = Graphics.FromImage(joinedBitmap);
                for (int i = 0; i < count; i++)
                {
                    var partImageFileName = jpegFileName + ".part" + i + ".jpg";
                    Image partImage = Image.FromFile(partImageFileName);
                    graphics.DrawImage(partImage, 0, partImage.Height * i, partImage.Width, partImage.Height);
                    partImage.Dispose();
                    File.Delete(partImageFileName);
                }
                joinedBitmap.Save(jpegFileName);
    
                graphics.Dispose();
                joinedBitmap.Dispose();
                img.Dispose();
    
                //return jpegFileName;
            }

      这段代码并没有依赖特殊类库,也没有复杂的处理。大概思路就是使用Image类读取Tif文件的每一帧,使用Graphic类画一个图片,根据页数页码计算生成后的图片总像素大小跟每一页的位置就可以了。

    展开全文
  • tifjpg,tif的转换

    2017-05-10 17:31:18
    opencv实现1分多;gdi plus 实现1分多,多合1; 1分多指的是:1个多页的TIFF图片,保存为多个TIFF\JPG; 多合一指的是:多个TIFF\JPG图片,合成为一个TIFF图片;
  • NULL 博文链接:https://jilongliang.iteye.com/blog/1886816
  • 1、将个.jpg等类型图片生成一个.tif文件 2、将.tif转换成.jpg文件 3、TifDemo:切割.tif文件
  • Tiff文件转jpg图片有多种做法,网上大多数是采用java的JAI,其实还可以采用jdk自带的imageio进行解析转换。java的JAI暂时还不支持对旧式JPEG-in-TIFF数据的解码,也就是,部分tif文件执行此段代码进行解析时,会报...
  • 多页PDF转TIF

    千次阅读 2019-04-30 16:53:22
    在项目中对于文档的操作,一个重要的功能是文件类型的转换,其中最重要的一个就使PDF转TIF,之前在做该功能时,发现相关资料很少,参考了很资料,完成了本功能。 功能条件: pdfbox-2.0.8 fontbox-2.0.8 Github ...
  • 我试图创建一个简单的脚本,将目录中的所有tiff图像转换为jpg,但我得到以下错误:cannot write mode RGBA as JPEG我的代码是:import osfrom PIL import Imageyourpath = os.getcwd()for root, dirs, files in os....
  • 刚刚工作中遇到 tif 图片的转换,开始以为只要改改后缀名就可以了,不错。改后缀名是可以在电脑中预览,但是无法在浏览器中预览,没办法。现在只有转换图片了。下面是转换图片的一些经验:首先下载 java处理图片的 ...
  • 最近因为想要整下网站的壁纸,从网站下载了别人整理好的合集压缩包,解压之后,却发现里面的文件都是tif的,tif格式网站和电脑都不认的,根本不能作壁纸。这时候,就需要转换图片格式了,首先我找了几款转换格式的...
  • 项目需求:使用 Java ImageIO 搭配 TwelveMonkeys ImageIO 库,要把多个 BufferedImage(由一个多页 TIFF 图片而来,因为要对每一页做一些处理)成 base64。尝试:用 ImageWriter.writeToSequence 方法先把 ...
  • JAVA分割多页tif文件

    2021-02-28 19:31:29
    最近由于工作原因,客户发了一些tif格式的文件,使用window xp自带的图片查看器,只能打开第一页面,看着十分不方便,就在网上查了些资料,找到了一个用java分割tif多页文件的源码,分享一下。源码如下:package ...
  • 需求是浏览器里直接将服务器上的图片文件(JPG,PNG,TIF)输出PDF, TIF还可能是多页的,这里需要把TIF合并,项目是用的Spring/SpringBoot 首先引入itextpdf依赖,编辑pom.xml <dependency> <groupId&...
  • # 批量tiff转jpg # 代码中路径更改为自己图像存放路径即可 from PIL import Image import os imagesDirectory = r"D:\PycharmProjects\pythonProject\data\indias\IndiasSample1" # tiff图片所在文件夹路径 ...
  • 使用libtiff.net将jpg合并成tif

    千次阅读 2019-04-25 17:05:57
    说 ,上代码。 using BitMiracle.LibTiff.Classic; using System; using System.Drawing; using System.Drawing.Imaging; using System.IO; namespace JpgToTiff { public class TiffHelper { public st...
  • 哈喽~大家好,因为最近工作需要把mxd中的数据导成tif格式图片,我查了一下关于arcpy库的相关用法并已解决批量导图,此代码支持导出tif,png,jpg,pdf格式,现将方法分享出来,希望能够帮助有需要的朋友,如果此方法...
  • java jpg合成tif后避免tif文件过大的方法

    千次阅读 热门讨论 2018-04-19 17:13:31
    这几天突然有个需求要求把之前的通过扫描仪扫出来的jpg图片给合成一个tif文件,乍一看这个需求还是没啥问题的,于是乎直接上网找一个方法下来就好啦,百度“jpg合成tif”得到如下方法: /** * 合并成一个...
  • jpgtif转pdf遇到的问题和解决方法

    千次阅读 2012-08-12 15:06:28
    当使用PDFLib把jpg转成pdf正常,把tif转pdf的时候就遇到了麻烦。如果tif是CCITT压缩格式则正常,如果是tif是jpg压缩或者lzw(其他压缩格式没有测试) 转换是速度就较慢了而且转出来的pdf文件大小比tif文件大了好几倍...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,457
精华内容 982
关键字:

多页tif转jpg