java - 如何从 BufferedImage 创建 8 位 PNG?

标签 java png bufferedimage

我有一个 Java 程序,可以创建仅包含黑色像素和 100% 透明像素的复合 png 图像。我正在尝试尽可能减小这些复合 Material 的大小,并且我注意到 ImageIO.write 始终输出 32 位 PNG。考虑到图像总共只有两种颜色,我想将它们保存为 8 位,但我认为没有办法使用标准 Java 函数来做到这一点。

有谁知道任何可以从 BufferedImage 创建 8 位 png 的预构建函数吗?也欢迎任何其他减小这些 png 大小的建议!

最佳答案

我不确定,但我猜测 ImageIO 使用 BufferedImage 使用的任何类型。尝试使用不同的可用类型。 TYPE_CUSTOMTYPE_BYTE_BINARY 看起来很有前途。

关于java - 如何从 BufferedImage 创建 8 位 PNG?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12846494/

相关文章:

java - 如何使用Java压缩PNG图像

java - 在透明 Graphics2D 上用线条绘制形状以获取 png 图像

java - 过滤器 : client and server side redirecting

java - 使用 FXML 中的数据绑定(bind)表达式填充 tableView 中的项目?

android - 如何将 View 从 Canvas 保存到 PNG 文件?

Java缓冲图像: Alpha change makes low alpha areas appear black

java - 使用 keyBindings 移动 bufferedImage

java - 从字节数组获取像素值

java - 在android中从两个不同的 Activity 添加两个Double值

java - 使用 jsoup 获取 java.net.SocketTimeoutException : Read timed out exception