java - 如何转换 PNG<->JPEG<->TIFF 图像

标签 java java-io

有什么方法可以用 Java 转换 PNG<->JPEG<->TIFF 图像? 我有 String i/p 传递参数(PNG 或 JPEG 转换为 []byte,然后转换为 String)到 ConvertImage(String xyz) 方法。

字符串转换图像(字符串 xyz)

所以我正在寻找从单一方法进行的后续转换并返回字节数组或字符串,最后我想存储在数据库中。

1.如果i/p是PNG转换o/p是JPEG

2.如果 i/p 是 JPEG 转换 o/p 是 PNG

3.如果i/p是PNG或者JPEG转换后的o/p是TIFF

我现在正在使用 JAI 进行此转换(在我的上一篇文章中我没有提到所有这些细节,对此感到抱歉)但现在不想使用 JAI。

如果您对所有这 3 种类型都有任何快速解决方案,请告诉我?

非常感谢您!!!

最佳答案

大多数图像类型都可以通过简单调用 ImageIO.read 来读入内存:

import javax.imageio.ImageIO;
import java.io.File;

public class ImageTest {
    public static void main(String[] args) {
        BufferedImage image = ImageIO.read(new File("image.png"));//Or image.jpg or image.tiff, etc.
    }
}

然后可以通过将 RenderedImage(BufferedImage 是其实现)传递给 ImageIO.write 来写入图像:

import javax.imageio.ImageIO;
import java.io.File;

public class ImageTest {
    public static void main(String[] args) {
        BufferedImage image = ImageIO.read(new File("image.png"));//Or image.jpg or image.tiff, etc.
        String[] formatNames = ImageIO.getWriterFormatNames();
        //A robust use would validate whatever format you're intending to use against 
        //the canonical list of format names retrieved by that call
        ImageIO.write(image, "tiff", new File("image.tiff"));
    }
}

关于java - 如何转换 PNG<->JPEG<->TIFF 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50651048/

相关文章:

java - 我的 response.sendRedirect 不起作用

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

java - 为什么这个 Java 套接字客户端无法工作?

java - 找不到符号[错误]符号: method getlogger(java. lang.Class <org.first.FirstMaven.App>)

Java文件-新更新的文件出现在一行中

java - 无法导入 import StandardCopyOption

java - 从特定位置开始将文件复制到另一个文件中

java - SelectItemsConverter Omnifaces 预选对象值?

java - 我不应该在 Java 中执行 `String s = new String("一个新字符串");`,即使有自动字符串实习?

java - 使用 jsch 和 sftp 读取远程文件 - 失败 4