如何转换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