在本文中,我们展示了如何在 Java 中读取和写入 ICO 图像。
ICO 是在 Microsoft Windows 上的图标中使用的图像文件格式。 ICO 文件包含一个或多个具有多种尺寸和颜色深度的小图像,因此可以适当缩放它们。 ICO 文件也经常用于网络上的收藏夹图标。
要使用 Java 读写 ICO 文件,我们使用 image4j 图片库。 可以从 image4j.sourceforge.net 下载用于 image4j 的 JAR。
将 PNG 转换为 ICO
在以下示例中,我们将 PNG 图像转换为 ICO 图像。
ConvertToIcoEx.java
我们使用ImageIO.read()
方法将 PNG 文件读入BufferedImage
。 BufferedImage
是存储在内存中的像素矩形。 它是 Swing 中最重要的图像类型之一。
ICOEncoder.write()
将 PNG 转换为 ICO 文件。
将 ICO 转换为 PNG
在第二个示例中,我们将 ICO 图像转换为 PNG 图像。
ConvertIcoToPngEx.java
我们使用ICODecoder.read()
方法将 ICO 文件读入BufferedImage
。 通过ImageIO.write()
方法将BufferedImage
写入 PNG 文件。
下载 ICO 文件
在下一个示例中,我们从网站下载 ICO 文件,将其转换为ImageIcon
,并在JLabel
组件中显示。
DownloadIcoEx.java
该示例从 StackOverflow 网站下载了一个图标。
我们从 URL 创建一个InputStream
。
ICODecoder.read()
从InputStream
读取到BufferedImage
从BufferedImage
创建一个ImageIcon
。
将ImageIcon
放入JLabel
。
Figure: Favicon
在本文中,我们已使用 image4j 库读取和写入 ICO 图像。