java - 我可以从 BufferedImage 获取原始图像吗?

标签 java java-io

我有一个 BufferedImage 实例:(仅一个示例)

BufferedImage image = ImageIO.read(new URL("http://www.google.com/intl/en_ALL/images/srpr/logo1w.png"));

现在,我只知道使用

ImageIO.write(image,"jpg", file); //or ImageIO.write(image,"png", file);

将此 BufferedImage 保存到文件中,但此文件是 ZIPed,不等于原始图像大小。

我可以从 BufferedImage 实例获取原始图像 ByteArray 或 OutputStream 吗?

最佳答案

简而言之:不。

Java 将图像转换为内部表示形式,并在读写时转换文件。

您最好的选择是读取字节数组中的文件(或临时文件),然后从那里创建图像。保存文件时,返回原始字节数组或临时文件。

关于java - 我可以从 BufferedImage 获取原始图像吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3554112/

相关文章:

java - java中分割一个字符串

java - 用于查找多个\n 并仅替换为一个 <br/> 的正则表达式

java - 我的java代码经常陷入循环 "while ((line = rd.readLine()) != null) {"。如何优化代码

java - 在 Java 中使用用户名和密码访问网络文件夹

java - Collections.copy 是否损坏(在 OpenJDK 6 中)?

Java泛型集合疑惑

java - 为什么JPA合并操作会导致更新前多次选择?

java - Java中如何获取当前工作目录?

java - 如何拆分文本文件并在一行中存储 2 个值?

java - 如何检查 SmbFile 中的流是否已准备好读取?