其他分享
首页 > 其他分享> > 如何转换PNG < - > JPEG < - > TIFF图像

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

作者:互联网

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

String ConvertImage(String xyz)

所以我正在寻找从单个方法转换以及返回字节数组或字符串,然后最后我想存储在DB中.

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,java-io
来源: https://codeday.me/bug/20190910/1798421.html