`

使用Java ImageIO类进行批量图片格式转换(转载)

阅读更多

经常需要做图片格式转换,用Fireworks 等工具又太麻烦,于是自己写了这样一个程序进行批量格式转换。

使用Java进行图片格式转换可以借助ImageIO类 。ImageIO类在javax.imageio 包里,这个包里都是一些和图象输入输出有关的类。ImageIO类包含一组静态方法,用来快速定位ImageReaderImageWriter 并执行简单的编码和解码。
ImageIO类的声明是:public final class ImageIO extends Object
我们可以看到这是一个final 类,类的所有成员都不允许覆写。

在本例中,用到ImageIO类的两个静态方法:

  • static BufferedImage read(File input);
    自 动选择一个注册的ImageReader然后对给定的input进行解码,返回一个BufferedImage实例,不成功的话返回null。实际上这个 方法先从input取得一个ImageInputStream对象,然后调用重载函数read(InputStream input);
  • static boolean write(RenderedImage im, String formatName, File output);

    把内存图象im按照formatName指定的格式写入文件output。RenderedImage是java.awt.image中定义的一个接口,上面提到的BufferedImage类实现了这个接口。formatName可以是"bmp " "png " "jpg " "gif " "tiff "等,这和java的发行版有关,比如以前因为专利的原因不支持jpg,现在支持了:-)

了解这些以后,我们就能写出图片格式转换的代码:
  File fi = new File(src);   // src是输入图片的文件名,例如"foo.bmp"
  BufferedImage im = ImageIO.read(fi);   // 读文件src并对其进行解码,得到内存图象im
  // 在这里可以对这个BufferedImage做各种图像处理,不过本例不需要任何处理
  File fo = new File(dest);   // dest是输出图片的文件名,例如"foo.jpg"
  ImageIO.write(im, "jpg", fo);   // 把内存图象im按照jpg格式写入dest文件中去

上面的代码一次只能处理一张图片,要进行批量转换还要了解shell的通配符。比如,你的工作目录下有三个文件:a.bmp b.bmp c.bmp,你希望同过一个命令 "java ToJPG *.bmp " 把它们全部转换为jpg格式,输出三个文件分别为 a.jpg b.jpg c.jpg,其实很简单,因为shell会对 *.bmp 进行解释,查找当前目录下所有扩展名为bmp的文件然后用这些文件名来替换*.bmp,就像 "java ToJPG a.bmp b.bmp c.bmp "。


文章来源:http://cxc200026.blog.163.com/blog/static/342686720084212847619/

分享到:
评论

相关推荐

    将EMF图片格式转换成PNG

    总的来说,将EMF转换为PNG的过程涉及到了Java编程、图像处理库的使用以及文件格式的转换。通过`freehep`库,我们可以方便地在Java环境中实现这种转换,为跨平台的应用提供了便利。在实际开发中,你还可以扩展这个...

    java 生成图片

    这里我们将深入探讨如何使用Java根据配置文件批量生成图片。 首先,要生成图片,我们需要理解Java中的图像处理库。Java标准库提供了一个名为`java.awt`和`javax.imageio`的包,它们包含了创建、显示和保存图像的...

    java获取DICOM格式图片demo

    本教程将探讨如何在Java环境中解析DICOM格式的图片,并将其转换为常见的PNG、JPG或JPEG格式。 首先,我们需要引入一个能够处理DICOM的Java库,例如`dcm4che`或`DICOM4J`。这里以`dcm4che`为例,这是一个开源的Java...

    Java源码之转换iPhonePNG图片为标准格式 .zip

    总的来说,这个Java源码项目为我们提供了一个学习图像处理和文件格式转换的实例,有助于理解如何利用Java处理图像,并解决跨平台兼容性问题。通过研究和实践,我们可以提升自己的Java编程和图像处理技能,这对于开发...

    java处理裁剪图片(更改图片大小)

    第三种方法是使用Java的`javax.imageio.ImageIO`和`java.awt.Graphics2D`类。这种方法虽然相比前两者可能更复杂,但它提供了更大的灵活性,可以直接在内存中处理图像,而无需依赖外部工具。 总的来说,选择哪种方法...

    转换图片格式

    要实现图片格式转换,我们通常需要以下步骤: 1. **读取图像**:使用`javax.imageio.ImageIO`类的`read()`方法读取图像文件,将其转化为`BufferedImage`对象。 2. **检查和选择输出格式**:根据需求确定目标格式,...

    HEIC-Convert-Java:在Java中将HEIC转换为PNG,JPEG ...

    总结,"HEIC-Convert-Java"项目提供了一种在Java中处理HEIC图像的解决方案,主要依赖于ImageMagick工具进行格式转换。了解并掌握这种转换方法,对于开发者来说,可以更好地兼容和支持使用HEIC格式的设备和应用。

    Java将PDF生成图片

    6. **批量处理**:对于大量PDF转换的需求,可以编写脚本或服务进行批量处理,通过循环遍历文件目录,自动将所有PDF转换为图片。 7. **质量与压缩**:转换后的图片质量可以通过调整JPEG的质量系数或PNG的压缩级别来...

    图片转换成pdf代码

    3. **图像处理库**:为了将图片数据解析并准备写入PDF,可能使用了像Apache Batik、ImageIO或者第三方库如JFreeChart等,这些库能够读取多种图片格式(如JPEG、PNG等)并进行处理。 4. **PDF生成库**:Java中常见的...

    java文字转图片

    此外,如果要进行批量处理,可以将文本和输出文件名作为参数传递给方法,或者读取文本文件内容,逐行生成图片。这将有助于实现更灵活的解决方案。 总之,Java中的文字转图片功能通过结合`Graphics2D`、`...

    Java压缩图片工具

    在Java中,我们可以使用内置的`java.awt.image.BufferedImage`类来读取和操作图像。不过,如果要进行复杂的图片压缩,可能需要借助第三方库。以下是一些常用的Java图片压缩库: 1. **ImageIO**:Java自带的图像I/O...

    爆炸式图片转换

    综上所述,“爆炸式图片转换”涉及到的技术包括图片格式理解、图像处理算法、批量操作、元数据管理、用户界面设计以及软件性能优化等多个方面。使用这类工具时,用户可以根据自己的需求选择合适的图片格式、质量设置...

    Java将大图片转成小图片

    以下是一些关于如何在Java中进行大图片到小图片转换的关键知识点: 1. **Java图像库**: Java提供了标准的`java.awt.image`和`javax.imageio`库,用于处理图像。其中,`BufferedImage`类是核心,它提供了读取、...

    webp-imageio-动态库.rar

    - 图片优化:利用WebP的高压缩率,可以编写工具或服务来批量转换图片格式,从而节省存储空间和网络带宽。 总之,`webp-imageio`项目为Java开发者提供了一个方便的接口,使他们能够利用WebP格式的优势。无论是在...

    java将WORD转图片,转PDF来回转.zip

    在Java编程环境中,将Word文档转换为图片或PDF,以及进行图片与PDF之间的相互转换,是一种常见的需求。这种转换在处理大量文档时尤其有用,例如自动化报告生成、文档预览或者格式互换。本资源提供的"java将WORD转...

    java图片转pdf格式

    总之,通过Apache PDFBox库,我们可以方便地在Java环境中实现图片到PDF的转换,无论是单张图片还是批量图片,都能灵活处理。理解这些核心概念和技术,将有助于你在实际项目中更高效地完成此类任务。

    图象格式转换(源文件)

    要进行图像格式转换,你可以使用多种工具,例如Adobe Photoshop、在线转换工具(如smallpdf、iloveimg等)或者编程语言的库(如Python的PIL库,Java的ImageIO类)。以下是一般的转换步骤: 1. **选择工具**:根据你...

    用java代码下载网页图片

    #### 3.2 图片格式转换 在给定的代码片段中,将下载的图片保存为JPG格式。这里需要注意的是,如果原图不是JPG格式,而是一种其他格式(如PNG),则可能需要在保存之前进行格式转换。 ### 4. 异常处理 #### 4.1 ...

    java处理图片,缩略图,添加水印,格式转换,Thumbnailator

    在Java编程环境中,处理图像是一项常见的任务,包括创建缩略图、添加水印、裁剪以及转换图片格式。这些操作可以用于网站上的图像展示、移动应用的资源优化或任何需要图像处理的项目。"Thumbnailator"是Java的一个...

    java pdf转图片

    3. **设置输出图像格式和质量**:决定要转换成哪种图片格式(JPEG、PNG、BMP等),以及图像的质量和分辨率。这会影响文件大小和图像清晰度。 4. **转换**:调用库提供的方法,如PDFBox的`PDPage.convertToImage()`...

Global site tag (gtag.js) - Google Analytics