【译】Java官方文档:Java Image I/O API 指南3:编写Image I/O 应用

第三章 编写 Image I/O 应用

3.1 读写图片

javax.imageio.ImageIO类提供了一系列方便的执行最简图像I/O操作的静态方法。
从标准的格式(GIF、PNG或JPEG)中读取图片的示例如下:

File f = new File("c:\images\myimage.gif");
BufferedImage bi = ImageIO.read(f);

图片的格式将会由API基于文件内容自动识别出来。大部分图片文件在它们的前几个字节都包含有一种“魔数(Magic Number)”,它可以用来分辨文件的格式。对于没有魔数的图像格式,自动识别可能就派不上用场了,这时候就会需要一些额外专用的应用程序代码。
其他的格式则可能需要安装包含了相应插件的Jar包;这一部分的详细信息在下一章。在安装了一个插件后,对应的新型格式应该在程序代码没有任何改动的前提下自动被支持。
调用ImageIO.getReaderFormatNames方法可以得到所有支持被读取的格式集合。该方法返回一个包含所有可用格式信息的String类型的数组,比如“gif”和“png”等。
将图片按被支持的格式写入文件同样很简单:

BufferedImage bi;
File f = new File("c:\images\myimage.png");
ImageIO.write(im, "png", f);

被支持写入的格式列表可以通过调用ImageIO.getWriterFormatNames方法来获取到。

3.2 进阶

上文提到的方法对于简单的应用来说足够了。然而,Image I/O API 对编写复杂应用程序提供了更加强大的功能。为了使用本API的高阶功能,应用程序可能需要直接使用API中ImageReaderImageWriter这些部分。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第二章 目标 2.1 API 的目标 Image I/O API 的设计是受到了对支持一系列主要目标的渴望的影响。...
    hlwz5735阅读 819评论 0 0
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,707评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,261评论 4 61
  • 最近在好几个群里看到一些人对00后的评价,概括一下就是惊诧,不理解,不可思议,不像话。评论里家长们一个个如临大敌的...
    白白的成长日记阅读 347评论 0 0